.class public final Lv;
.super Ljava/lang/Object;


# static fields
.field public static B:[I

.field public static C:[I

.field private static O:[S

.field private static P:[S

.field private static Q:[S


# instance fields
.field public A:[[I

.field public Code:I

.field public D:[[S

.field public E:[[B

.field public F:[[B

.field public G:[S

.field public H:I

.field public I:I

.field public J:[I

.field public K:I

.field public L:[[I

.field public M:I

.field public N:I

.field private R:I

.field private S:I

.field private T:I

.field private U:[I

.field private V:I

.field private W:[I

.field public Z:I

.field public a:[B

.field public b:I

.field public c:I

.field public d:I

.field public e:[I

.field public f:[I

.field public g:I

.field public h:I

.field public i:I

.field public j:[I

.field public k:I

.field public l:[I

.field public m:I

.field public n:I

.field public o:I

.field public p:I

.field public q:[I

.field public r:I

.field public s:I

.field public t:[[B

.field public u:I

.field public v:[I

.field public w:I

.field public x:I

.field public y:[I

.field public z:[[I


# direct methods
.method public static constructor <clinit>()V
    .locals 0

    return-void
.end method

.method public constructor <init>()V
    .locals 4

    const/16 v1, 0x10

    const/4 v3, 0x0

    const/4 v2, 0x3

    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    new-array v0, v2, [I

    iput-object v0, p0, Lv;->U:[I

    new-array v0, v2, [I

    iput-object v0, p0, Lv;->e:[I

    new-array v0, v2, [I

    iput-object v0, p0, Lv;->f:[I

    new-array v0, v2, [I

    iput-object v0, p0, Lv;->j:[I

    new-array v0, v2, [I

    iput-object v0, p0, Lv;->l:[I

    new-array v0, v2, [I

    iput-object v0, p0, Lv;->q:[I

    new-array v0, v2, [[B

    iput-object v0, p0, Lv;->t:[[B

    const/4 v0, 0x6

    new-array v0, v0, [I

    iput-object v0, p0, Lv;->y:[I

    new-array v0, v1, [[I

    iput-object v0, p0, Lv;->z:[[I

    new-array v0, v1, [[I

    iput-object v0, p0, Lv;->A:[[I

    new-array v0, v1, [[S

    iput-object v0, p0, Lv;->D:[[S

    new-array v0, v1, [[B

    iput-object v0, p0, Lv;->E:[[B

    new-array v0, v1, [[B

    iput-object v0, p0, Lv;->F:[[B

    new-array v0, v2, [S

    iput-object v0, p0, Lv;->G:[S

    new-array v0, v2, [I

    iput-object v0, p0, Lv;->W:[I

    const/4 v0, 0x4

    new-array v0, v0, [[I

    iput-object v0, p0, Lv;->L:[[I

    const/4 v0, -0x1

    iput v0, p0, Lv;->M:I

    invoke-static {}, Lv;->Code()V

    const/4 v0, 0x0

    :goto_0
    if-ge v0, v2, :cond_0

    iget-object v1, p0, Lv;->t:[[B

    aput-object v3, v1, v0

    iget-object v1, p0, Lv;->z:[[I

    aput-object v3, v1, v0

    iget-object v1, p0, Lv;->A:[[I

    aput-object v3, v1, v0

    iget-object v1, p0, Lv;->D:[[S

    aput-object v3, v1, v0

    iget-object v1, p0, Lv;->E:[[B

    aput-object v3, v1, v0

    iget-object v1, p0, Lv;->F:[[B

    aput-object v3, v1, v0

    add-int/lit8 v0, v0, 0x1

    goto :goto_0

    :cond_0
    return-void
.end method

.method private Code(I)I
    .locals 2

    if-nez p1, :cond_0

    const/4 v0, 0x0

    :goto_0
    return v0

    :cond_0
    iget v0, p0, Lv;->K:I

    if-ge v0, p1, :cond_1

    invoke-direct {p0}, Lv;->J()V

    iget v0, p0, Lv;->K:I

    if-ge v0, p1, :cond_1

    const/4 v0, -0x2

    goto :goto_0

    :cond_1
    iget v0, p0, Lv;->H:I

    const/16 v1, 0x20

    sub-int/2addr v1, p1

    ushr-int/2addr v0, v1

    iget v1, p0, Lv;->H:I

    shl-int/2addr v1, p1

    iput v1, p0, Lv;->H:I

    iget v1, p0, Lv;->K:I

    sub-int/2addr v1, p1

    iput v1, p0, Lv;->K:I

    goto :goto_0
.end method

.method private static Code(II)I
    .locals 2

    const/4 v1, 0x1

    sub-int v0, p0, v1

    shl-int v0, v1, v0

    if-ge p1, v0, :cond_0

    const/4 v0, -0x1

    shl-int/2addr v0, p0

    add-int/2addr v0, p1

    add-int/lit8 v0, v0, 0x1

    :goto_0
    return v0

    :cond_0
    move v0, p1

    goto :goto_0
.end method

.method private static declared-synchronized Code()V
    .locals 10

    const/16 v9, 0x300

    const/16 v8, 0x100

    const/16 v7, 0x40

    const/4 v6, 0x0

    const-class v0, Lv;

    monitor-enter v0

    :try_start_0
    sget-object v1, Lv;->O:[S
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_1

    if-nez v1, :cond_5

    const/4 v1, 0x0

    const/4 v2, 0x1

    :try_start_1
    invoke-static {v2}, Ln;->e(I)Ljava/io/DataInputStream;

    move-result-object v1

    const/16 v2, 0x300

    new-array v2, v2, [S

    sput-object v2, Lv;->O:[S

    const/16 v2, 0x100

    new-array v2, v2, [S

    sput-object v2, Lv;->P:[S

    const/16 v2, 0x100

    new-array v2, v2, [S

    sput-object v2, Lv;->Q:[S

    const/16 v2, 0x40

    new-array v2, v2, [I

    sput-object v2, Lv;->B:[I

    const/16 v2, 0x40

    new-array v2, v2, [I

    sput-object v2, Lv;->C:[I

    move v2, v6

    move v3, v6

    :goto_0
    if-ge v2, v9, :cond_0

    sget-object v4, Lv;->O:[S

    invoke-virtual {v1}, Ljava/io/DataInputStream;->readShort()S

    move-result v5

    add-int/2addr v3, v5

    int-to-short v3, v3

    aput-short v3, v4, v2

    add-int/lit8 v2, v2, 0x1

    goto :goto_0

    :cond_0
    move v2, v6

    move v3, v6

    :goto_1
    if-ge v2, v8, :cond_1

    sget-object v4, Lv;->P:[S

    invoke-virtual {v1}, Ljava/io/DataInputStream;->readShort()S

    move-result v5

    add-int/2addr v3, v5

    int-to-short v3, v3

    aput-short v3, v4, v2

    add-int/lit8 v2, v2, 0x1

    goto :goto_1

    :cond_1
    move v2, v6

    move v3, v6

    :goto_2
    if-ge v2, v8, :cond_2

    sget-object v4, Lv;->Q:[S

    invoke-virtual {v1}, Ljava/io/DataInputStream;->readShort()S

    move-result v5

    add-int/2addr v3, v5

    int-to-short v3, v3

    aput-short v3, v4, v2

    add-int/lit8 v2, v2, 0x1

    goto :goto_2

    :cond_2
    move v2, v6

    move v3, v6

    :goto_3
    if-ge v2, v7, :cond_3

    sget-object v4, Lv;->B:[I

    invoke-virtual {v1}, Ljava/io/DataInputStream;->readShort()S

    move-result v5

    add-int/2addr v3, v5

    int-to-short v3, v3

    aput v3, v4, v2

    add-int/lit8 v2, v2, 0x1

    goto :goto_3

    :cond_3
    move v2, v6

    move v3, v6

    :goto_4
    if-ge v2, v7, :cond_4

    sget-object v4, Lv;->C:[I

    invoke-virtual {v1}, Ljava/io/DataInputStream;->readShort()S

    move-result v5

    add-int/2addr v3, v5

    int-to-short v3, v3

    aput v3, v4, v2
    :try_end_1
    .catchall {:try_start_1 .. :try_end_1} :catchall_0

    add-int/lit8 v2, v2, 0x1

    goto :goto_4

    :cond_4
    :try_start_2
    invoke-static {v1}, Ln;->Code(Ljava/lang/Object;)V
    :try_end_2
    .catchall {:try_start_2 .. :try_end_2} :catchall_1

    :cond_5
    :goto_5
    monitor-exit v0

    return-void

    :catchall_0
    move-exception v2

    :try_start_3
    invoke-static {v1}, Ln;->Code(Ljava/lang/Object;)V
    :try_end_3
    .catchall {:try_start_3 .. :try_end_3} :catchall_1

    goto :goto_5

    :catchall_1
    move-exception v1

    monitor-exit v0

    throw v1
.end method

.method private Code(I[S[BII)V
    .locals 14

    const/16 v0, 0x40

    new-array v0, v0, [I

    const/4 v1, 0x0

    :goto_0
    const/16 v2, 0x8

    if-ge v1, v2, :cond_1

    sget-object v2, Lv;->B:[I

    add-int/lit8 v3, v1, 0x8

    aget v2, v2, v3

    aget-short v2, p2, v2

    if-nez v2, :cond_0

    sget-object v2, Lv;->B:[I

    add-int/lit8 v3, v1, 0x10

    aget v2, v2, v3

    aget-short v2, p2, v2

    if-nez v2, :cond_0

    sget-object v2, Lv;->B:[I

    add-int/lit8 v3, v1, 0x18

    aget v2, v2, v3

    aget-short v2, p2, v2

    if-nez v2, :cond_0

    sget-object v2, Lv;->B:[I

    add-int/lit8 v3, v1, 0x20

    aget v2, v2, v3

    aget-short v2, p2, v2

    if-nez v2, :cond_0

    sget-object v2, Lv;->B:[I

    add-int/lit8 v3, v1, 0x28

    aget v2, v2, v3

    aget-short v2, p2, v2

    if-nez v2, :cond_0

    sget-object v2, Lv;->B:[I

    add-int/lit8 v3, v1, 0x30

    aget v2, v2, v3

    aget-short v2, p2, v2

    if-nez v2, :cond_0

    sget-object v2, Lv;->B:[I

    add-int/lit8 v3, v1, 0x38

    aget v2, v2, v3

    aget-short v2, p2, v2

    if-nez v2, :cond_0

    sget-object v2, Lv;->B:[I

    aget v2, v2, v1

    aget-short v2, p2, v2

    iget-object v3, p0, Lv;->L:[[I

    iget-object v4, p0, Lv;->W:[I

    aget v4, v4, p1

    aget-object v3, v3, v4

    aget v3, v3, v1

    mul-int/2addr v2, v3

    aput v2, v0, v1

    add-int/lit8 v3, v1, 0x8

    aput v2, v0, v3

    add-int/lit8 v3, v1, 0x10

    aput v2, v0, v3

    add-int/lit8 v3, v1, 0x18

    aput v2, v0, v3

    add-int/lit8 v3, v1, 0x20

    aput v2, v0, v3

    add-int/lit8 v3, v1, 0x28

    aput v2, v0, v3

    add-int/lit8 v3, v1, 0x30

    aput v2, v0, v3

    add-int/lit8 v3, v1, 0x38

    aput v2, v0, v3

    :goto_1
    add-int/lit8 v1, v1, 0x1

    goto :goto_0

    :cond_0
    sget-object v2, Lv;->B:[I

    aget v2, v2, v1

    aget-short v2, p2, v2

    iget-object v3, p0, Lv;->L:[[I

    iget-object v4, p0, Lv;->W:[I

    aget v4, v4, p1

    aget-object v3, v3, v4

    aget v3, v3, v1

    mul-int/2addr v2, v3

    aput v2, v0, v1

    add-int/lit8 v2, v1, 0x8

    sget-object v3, Lv;->B:[I

    add-int/lit8 v4, v1, 0x8

    aget v3, v3, v4

    aget-short v3, p2, v3

    iget-object v4, p0, Lv;->L:[[I

    iget-object v5, p0, Lv;->W:[I

    aget v5, v5, p1

    aget-object v4, v4, v5

    add-int/lit8 v5, v1, 0x8

    aget v4, v4, v5

    mul-int/2addr v3, v4

    aput v3, v0, v2

    add-int/lit8 v2, v1, 0x10

    sget-object v3, Lv;->B:[I

    add-int/lit8 v4, v1, 0x10

    aget v3, v3, v4

    aget-short v3, p2, v3

    iget-object v4, p0, Lv;->L:[[I

    iget-object v5, p0, Lv;->W:[I

    aget v5, v5, p1

    aget-object v4, v4, v5

    add-int/lit8 v5, v1, 0x10

    aget v4, v4, v5

    mul-int/2addr v3, v4

    aput v3, v0, v2

    add-int/lit8 v2, v1, 0x18

    sget-object v3, Lv;->B:[I

    add-int/lit8 v4, v1, 0x18

    aget v3, v3, v4

    aget-short v3, p2, v3

    iget-object v4, p0, Lv;->L:[[I

    iget-object v5, p0, Lv;->W:[I

    aget v5, v5, p1

    aget-object v4, v4, v5

    add-int/lit8 v5, v1, 0x18

    aget v4, v4, v5

    mul-int/2addr v3, v4

    aput v3, v0, v2

    add-int/lit8 v2, v1, 0x20

    sget-object v3, Lv;->B:[I

    add-int/lit8 v4, v1, 0x20

    aget v3, v3, v4

    aget-short v3, p2, v3

    iget-object v4, p0, Lv;->L:[[I

    iget-object v5, p0, Lv;->W:[I

    aget v5, v5, p1

    aget-object v4, v4, v5

    add-int/lit8 v5, v1, 0x20

    aget v4, v4, v5

    mul-int/2addr v3, v4

    aput v3, v0, v2

    add-int/lit8 v2, v1, 0x28

    sget-object v3, Lv;->B:[I

    add-int/lit8 v4, v1, 0x28

    aget v3, v3, v4

    aget-short v3, p2, v3

    iget-object v4, p0, Lv;->L:[[I

    iget-object v5, p0, Lv;->W:[I

    aget v5, v5, p1

    aget-object v4, v4, v5

    add-int/lit8 v5, v1, 0x28

    aget v4, v4, v5

    mul-int/2addr v3, v4

    aput v3, v0, v2

    add-int/lit8 v2, v1, 0x30

    sget-object v3, Lv;->B:[I

    add-int/lit8 v4, v1, 0x30

    aget v3, v3, v4

    aget-short v3, p2, v3

    iget-object v4, p0, Lv;->L:[[I

    iget-object v5, p0, Lv;->W:[I

    aget v5, v5, p1

    aget-object v4, v4, v5

    add-int/lit8 v5, v1, 0x30

    aget v4, v4, v5

    mul-int/2addr v3, v4

    aput v3, v0, v2

    add-int/lit8 v2, v1, 0x38

    sget-object v3, Lv;->B:[I

    add-int/lit8 v4, v1, 0x38

    aget v3, v3, v4

    aget-short v3, p2, v3

    iget-object v4, p0, Lv;->L:[[I

    iget-object v5, p0, Lv;->W:[I

    aget v5, v5, p1

    aget-object v4, v4, v5

    add-int/lit8 v5, v1, 0x38

    aget v4, v4, v5

    mul-int/2addr v3, v4

    aput v3, v0, v2

    aget v2, v0, v1

    add-int/lit8 v3, v1, 0x20

    aget v3, v0, v3

    add-int/lit8 v4, v1, 0x10

    aget v4, v0, v4

    add-int/lit8 v5, v1, 0x30

    aget v5, v0, v5

    sub-int/2addr v4, v5

    add-int/lit8 v5, v1, 0x10

    aget v5, v0, v5

    add-int/lit8 v6, v1, 0x30

    aget v6, v0, v6

    add-int/2addr v5, v6

    sub-int v6, v2, v3

    const/16 v7, 0x16a

    invoke-static {v4, v7}, Lv;->Z(II)I

    move-result v4

    sub-int/2addr v4, v5

    sub-int v7, v6, v4

    add-int/2addr v4, v6

    add-int/2addr v2, v3

    sub-int v3, v2, v5

    add-int/2addr v2, v5

    add-int/lit8 v5, v1, 0x28

    aget v5, v0, v5

    add-int/lit8 v6, v1, 0x18

    aget v6, v0, v6

    sub-int/2addr v5, v6

    add-int/lit8 v6, v1, 0x8

    aget v6, v0, v6

    add-int/lit8 v8, v1, 0x38

    aget v8, v0, v8

    add-int/2addr v6, v8

    add-int/lit8 v8, v1, 0x18

    aget v8, v0, v8

    add-int/lit8 v9, v1, 0x28

    aget v9, v0, v9

    add-int/2addr v8, v9

    add-int v9, v6, v8

    sub-int/2addr v6, v8

    const/16 v8, 0x16a

    invoke-static {v6, v8}, Lv;->Z(II)I

    move-result v6

    add-int/lit8 v8, v1, 0x8

    aget v8, v0, v8

    add-int/lit8 v10, v1, 0x38

    aget v10, v0, v10

    sub-int/2addr v8, v10

    add-int v10, v5, v8

    const/16 v11, 0xc4

    invoke-static {v10, v11}, Lv;->Z(II)I

    move-result v10

    neg-int v5, v5

    const/16 v11, 0x115

    invoke-static {v5, v11}, Lv;->Z(II)I

    move-result v5

    sub-int/2addr v5, v10

    const/16 v11, 0x29d

    invoke-static {v8, v11}, Lv;->Z(II)I

    move-result v8

    sub-int/2addr v8, v10

    sub-int/2addr v8, v9

    sub-int v6, v8, v6

    sub-int/2addr v5, v6

    add-int v10, v2, v9

    aput v10, v0, v1

    add-int/lit8 v10, v1, 0x8

    add-int v11, v4, v8

    aput v11, v0, v10

    add-int/lit8 v10, v1, 0x10

    sub-int v11, v7, v6

    aput v11, v0, v10

    add-int/lit8 v10, v1, 0x18

    sub-int v11, v3, v5

    aput v11, v0, v10

    add-int/lit8 v10, v1, 0x20

    add-int/2addr v3, v5

    aput v3, v0, v10

    add-int/lit8 v3, v1, 0x28

    add-int v5, v7, v6

    aput v5, v0, v3

    add-int/lit8 v3, v1, 0x30

    sub-int/2addr v4, v8

    aput v4, v0, v3

    add-int/lit8 v3, v1, 0x38

    sub-int/2addr v2, v9

    aput v2, v0, v3

    goto/16 :goto_1

    :cond_1
    const/4 v1, 0x0

    move/from16 v2, p4

    :goto_2
    const/16 v3, 0x40

    if-ge v1, v3, :cond_3

    add-int/lit8 v3, v1, 0x1

    aget v3, v0, v3

    if-nez v3, :cond_2

    add-int/lit8 v3, v1, 0x2

    aget v3, v0, v3

    if-nez v3, :cond_2

    add-int/lit8 v3, v1, 0x3

    aget v3, v0, v3

    if-nez v3, :cond_2

    add-int/lit8 v3, v1, 0x4

    aget v3, v0, v3

    if-nez v3, :cond_2

    add-int/lit8 v3, v1, 0x5

    aget v3, v0, v3

    if-nez v3, :cond_2

    add-int/lit8 v3, v1, 0x6

    aget v3, v0, v3

    if-nez v3, :cond_2

    add-int/lit8 v3, v1, 0x7

    aget v3, v0, v3

    if-nez v3, :cond_2

    sget-object v3, Lv;->O:[S

    aget v4, v0, v1

    add-int/lit16 v4, v4, 0x400

    shr-int/lit8 v4, v4, 0xb

    add-int/lit16 v4, v4, 0x80

    add-int/lit16 v4, v4, 0x100

    aget-short v3, v3, v4

    int-to-byte v3, v3

    aput-byte v3, p3, v2

    add-int/lit8 v4, v2, 0x1

    aput-byte v3, p3, v4

    add-int/lit8 v4, v2, 0x2

    aput-byte v3, p3, v4

    add-int/lit8 v4, v2, 0x3

    aput-byte v3, p3, v4

    add-int/lit8 v4, v2, 0x4

    aput-byte v3, p3, v4

    add-int/lit8 v4, v2, 0x5

    aput-byte v3, p3, v4

    add-int/lit8 v4, v2, 0x6

    aput-byte v3, p3, v4

    add-int/lit8 v4, v2, 0x7

    aput-byte v3, p3, v4

    :goto_3
    add-int v2, v2, p5

    add-int/lit8 v1, v1, 0x8

    goto :goto_2

    :cond_2
    aget v3, v0, v1

    add-int/lit8 v4, v1, 0x4

    aget v4, v0, v4

    add-int/lit8 v5, v1, 0x2

    aget v5, v0, v5

    add-int/lit8 v6, v1, 0x6

    aget v6, v0, v6

    sub-int/2addr v5, v6

    add-int/lit8 v6, v1, 0x2

    aget v6, v0, v6

    add-int/lit8 v7, v1, 0x6

    aget v7, v0, v7

    add-int/2addr v6, v7

    sub-int v7, v3, v4

    const/16 v8, 0x16a

    invoke-static {v5, v8}, Lv;->Z(II)I

    move-result v5

    sub-int/2addr v5, v6

    sub-int v8, v7, v5

    add-int/2addr v5, v7

    add-int/2addr v3, v4

    sub-int v4, v3, v6

    add-int/2addr v3, v6

    add-int/lit8 v6, v1, 0x5

    aget v6, v0, v6

    add-int/lit8 v7, v1, 0x3

    aget v7, v0, v7

    sub-int/2addr v6, v7

    add-int/lit8 v7, v1, 0x1

    aget v7, v0, v7

    add-int/lit8 v9, v1, 0x7

    aget v9, v0, v9

    add-int/2addr v7, v9

    add-int/lit8 v9, v1, 0x3

    aget v9, v0, v9

    add-int/lit8 v10, v1, 0x5

    aget v10, v0, v10

    add-int/2addr v9, v10

    add-int v10, v7, v9

    sub-int/2addr v7, v9

    const/16 v9, 0x16a

    invoke-static {v7, v9}, Lv;->Z(II)I

    move-result v7

    add-int/lit8 v9, v1, 0x1

    aget v9, v0, v9

    add-int/lit8 v11, v1, 0x7

    aget v11, v0, v11

    sub-int/2addr v9, v11

    add-int v11, v6, v9

    const/16 v12, 0xc4

    invoke-static {v11, v12}, Lv;->Z(II)I

    move-result v11

    neg-int v6, v6

    const/16 v12, 0x115

    invoke-static {v6, v12}, Lv;->Z(II)I

    move-result v6

    sub-int/2addr v6, v11

    const/16 v12, 0x29d

    invoke-static {v9, v12}, Lv;->Z(II)I

    move-result v9

    sub-int/2addr v9, v11

    sub-int/2addr v9, v10

    sub-int v7, v9, v7

    sub-int/2addr v6, v7

    sget-object v11, Lv;->O:[S

    add-int v12, v3, v10

    add-int/lit16 v12, v12, 0x400

    shr-int/lit8 v12, v12, 0xb

    add-int/lit16 v12, v12, 0x80

    add-int/lit16 v12, v12, 0x100

    aget-short v11, v11, v12

    int-to-byte v11, v11

    aput-byte v11, p3, v2

    add-int/lit8 v11, v2, 0x1

    sget-object v12, Lv;->O:[S

    add-int v13, v5, v9

    add-int/lit16 v13, v13, 0x400

    shr-int/lit8 v13, v13, 0xb

    add-int/lit16 v13, v13, 0x80

    add-int/lit16 v13, v13, 0x100

    aget-short v12, v12, v13

    int-to-byte v12, v12

    aput-byte v12, p3, v11

    add-int/lit8 v11, v2, 0x2

    sget-object v12, Lv;->O:[S

    sub-int v13, v8, v7

    add-int/lit16 v13, v13, 0x400

    shr-int/lit8 v13, v13, 0xb

    add-int/lit16 v13, v13, 0x80

    add-int/lit16 v13, v13, 0x100

    aget-short v12, v12, v13

    int-to-byte v12, v12

    aput-byte v12, p3, v11

    add-int/lit8 v11, v2, 0x3

    sget-object v12, Lv;->O:[S

    sub-int v13, v4, v6

    add-int/lit16 v13, v13, 0x400

    shr-int/lit8 v13, v13, 0xb

    add-int/lit16 v13, v13, 0x80

    add-int/lit16 v13, v13, 0x100

    aget-short v12, v12, v13

    int-to-byte v12, v12

    aput-byte v12, p3, v11

    add-int/lit8 v11, v2, 0x4

    sget-object v12, Lv;->O:[S

    add-int/2addr v4, v6

    add-int/lit16 v4, v4, 0x400

    shr-int/lit8 v4, v4, 0xb

    add-int/lit16 v4, v4, 0x80

    add-int/lit16 v4, v4, 0x100

    aget-short v4, v12, v4

    int-to-byte v4, v4

    aput-byte v4, p3, v11

    add-int/lit8 v4, v2, 0x5

    sget-object v6, Lv;->O:[S

    add-int/2addr v7, v8

    add-int/lit16 v7, v7, 0x400

    shr-int/lit8 v7, v7, 0xb

    add-int/lit16 v7, v7, 0x80

    add-int/lit16 v7, v7, 0x100

    aget-short v6, v6, v7

    int-to-byte v6, v6

    aput-byte v6, p3, v4

    add-int/lit8 v4, v2, 0x6

    sget-object v6, Lv;->O:[S

    sub-int/2addr v5, v9

    add-int/lit16 v5, v5, 0x400

    shr-int/lit8 v5, v5, 0xb

    add-int/lit16 v5, v5, 0x80

    add-int/lit16 v5, v5, 0x100

    aget-short v5, v6, v5

    int-to-byte v5, v5

    aput-byte v5, p3, v4

    add-int/lit8 v4, v2, 0x7

    sget-object v5, Lv;->O:[S

    sub-int/2addr v3, v10

    add-int/lit16 v3, v3, 0x400

    shr-int/lit8 v3, v3, 0xb

    add-int/lit16 v3, v3, 0x80

    add-int/lit16 v3, v3, 0x100

    aget-short v3, v5, v3

    int-to-byte v3, v3

    aput-byte v3, p3, v4

    goto/16 :goto_3

    :cond_3
    return-void
.end method

.method private Code(Z)V
    .locals 22

    move-object/from16 v0, p0

    iget v0, v0, Lv;->g:I

    move v2, v0

    shl-int/lit8 v2, v2, 0x3

    move-object/from16 v0, p0

    iget v0, v0, Lv;->u:I

    move v3, v0

    mul-int/2addr v3, v2

    const/4 v4, 0x3

    new-array v4, v4, [I

    const/4 v5, 0x3

    new-array v5, v5, [I

    const/4 v6, 0x3

    new-array v6, v6, [I

    const/4 v7, 0x3

    new-array v7, v7, [I

    move-object/from16 v0, p0

    iget v0, v0, Lv;->T:I

    move v8, v0

    const/4 v9, 0x3

    if-ne v8, v9, :cond_0

    const/4 v8, 0x0

    const/4 v9, 0x0

    aput v9, v4, v8

    const/4 v8, 0x0

    move-object/from16 v0, p0

    iget-object v0, v0, Lv;->e:[I

    move-object v9, v0

    const/4 v10, 0x0

    aget v9, v9, v10

    shl-int/lit8 v9, v9, 0xb

    move-object/from16 v0, p0

    iget v0, v0, Lv;->g:I

    move v10, v0

    div-int/2addr v9, v10

    aput v9, v5, v8

    const/4 v8, 0x0

    move-object/from16 v0, p0

    iget-object v0, v0, Lv;->f:[I

    move-object v9, v0

    const/4 v10, 0x0

    aget v9, v9, v10

    shl-int/lit8 v9, v9, 0xb

    move-object/from16 v0, p0

    iget v0, v0, Lv;->h:I

    move v10, v0

    div-int/2addr v9, v10

    aput v9, v7, v8

    const/4 v8, 0x1

    const/4 v9, 0x0

    aput v9, v4, v8

    const/4 v8, 0x1

    move-object/from16 v0, p0

    iget-object v0, v0, Lv;->e:[I

    move-object v9, v0

    const/4 v10, 0x1

    aget v9, v9, v10

    shl-int/lit8 v9, v9, 0xb

    move-object/from16 v0, p0

    iget v0, v0, Lv;->g:I

    move v10, v0

    div-int/2addr v9, v10

    aput v9, v5, v8

    const/4 v8, 0x1

    move-object/from16 v0, p0

    iget-object v0, v0, Lv;->f:[I

    move-object v9, v0

    const/4 v10, 0x1

    aget v9, v9, v10

    shl-int/lit8 v9, v9, 0xb

    move-object/from16 v0, p0

    iget v0, v0, Lv;->h:I

    move v10, v0

    div-int/2addr v9, v10

    aput v9, v7, v8

    const/4 v8, 0x2

    const/4 v9, 0x0

    aput v9, v4, v8

    const/4 v8, 0x2

    move-object/from16 v0, p0

    iget-object v0, v0, Lv;->e:[I

    move-object v9, v0

    const/4 v10, 0x2

    aget v9, v9, v10

    shl-int/lit8 v9, v9, 0xb

    move-object/from16 v0, p0

    iget v0, v0, Lv;->g:I

    move v10, v0

    div-int/2addr v9, v10

    aput v9, v5, v8

    const/4 v8, 0x2

    move-object/from16 v0, p0

    iget-object v0, v0, Lv;->f:[I

    move-object v9, v0

    const/4 v10, 0x2

    aget v9, v9, v10

    shl-int/lit8 v9, v9, 0xb

    move-object/from16 v0, p0

    iget v0, v0, Lv;->h:I

    move v10, v0

    div-int/2addr v9, v10

    aput v9, v7, v8

    :cond_0
    if-nez p1, :cond_4

    move-object/from16 v0, p0

    iget v0, v0, Lv;->w:I

    move v7, v0

    move v0, v7

    move-object/from16 v1, p0

    iput v0, v1, Lv;->N:I

    :cond_1
    :goto_0
    if-eqz p1, :cond_6

    move-object/from16 v0, p0

    iget-object v0, v0, Lv;->J:[I

    move-object v7, v0

    :goto_1
    const/4 v8, 0x0

    :goto_2
    if-ge v8, v2, :cond_d

    add-int v9, v3, v8

    move-object/from16 v0, p0

    iget v0, v0, Lv;->x:I

    move v10, v0

    if-ge v9, v10, :cond_b

    move-object/from16 v0, p0

    iget v0, v0, Lv;->T:I

    move v9, v0

    const/4 v10, 0x3

    if-ne v9, v10, :cond_b

    add-int v9, v3, v8

    move-object/from16 v0, p0

    iget v0, v0, Lv;->w:I

    move v10, v0

    mul-int/2addr v9, v10

    if-eqz p1, :cond_3

    move-object/from16 v0, p0

    iget-object v0, v0, Lv;->j:[I

    move-object v10, v0

    const/4 v11, 0x0

    aget v10, v10, v11

    add-int/lit8 v10, v10, 0x1

    and-int/lit8 v10, v10, -0x2

    shl-int/lit8 v10, v10, 0x3

    move-object/from16 v0, p0

    iget v0, v0, Lv;->r:I

    move v11, v0

    move-object/from16 v0, p0

    iget v0, v0, Lv;->s:I

    move v12, v0

    div-int/2addr v11, v12

    add-int/lit8 v11, v11, 0x1

    move-object/from16 v0, p0

    iget v0, v0, Lv;->h:I

    move v12, v0

    mul-int/2addr v11, v12

    shl-int/lit8 v11, v11, 0x3

    sub-int/2addr v10, v11

    add-int/2addr v9, v10

    move-object/from16 v0, p0

    iget v0, v0, Lv;->M:I

    move v10, v0

    const/4 v11, -0x1

    if-ne v10, v11, :cond_2

    move v0, v9

    move-object/from16 v1, p0

    iput v0, v1, Lv;->M:I

    :cond_2
    move-object/from16 v0, p0

    iget v0, v0, Lv;->h:I

    move v9, v0

    mul-int/2addr v9, v8

    shl-int/lit8 v9, v9, 0x3

    :cond_3
    const/4 v10, 0x0

    aget v10, v4, v10

    shr-int/lit8 v10, v10, 0xb

    if-eqz p1, :cond_7

    move-object/from16 v0, p0

    iget-object v0, v0, Lv;->f:[I

    move-object v11, v0

    const/4 v12, 0x0

    aget v11, v11, v12

    shl-int/lit8 v11, v11, 0x3

    :goto_3
    mul-int/2addr v10, v11

    const/4 v11, 0x0

    aget v12, v4, v11

    const/4 v13, 0x0

    aget v13, v5, v13

    add-int/2addr v12, v13

    aput v12, v4, v11

    const/4 v11, 0x0

    const/4 v12, 0x0

    aput v12, v6, v11

    const/4 v11, 0x1

    aget v11, v4, v11

    shr-int/lit8 v11, v11, 0xb

    if-eqz p1, :cond_8

    move-object/from16 v0, p0

    iget-object v0, v0, Lv;->f:[I

    move-object v12, v0

    const/4 v13, 0x1

    aget v12, v12, v13

    shl-int/lit8 v12, v12, 0x3

    :goto_4
    mul-int/2addr v11, v12

    const/4 v12, 0x1

    aget v13, v4, v12

    const/4 v14, 0x1

    aget v14, v5, v14

    add-int/2addr v13, v14

    aput v13, v4, v12

    const/4 v12, 0x1

    const/4 v13, 0x0

    aput v13, v6, v12

    const/4 v12, 0x2

    aget v12, v4, v12

    shr-int/lit8 v12, v12, 0xb

    if-eqz p1, :cond_9

    move-object/from16 v0, p0

    iget-object v0, v0, Lv;->f:[I

    move-object v13, v0

    const/4 v14, 0x2

    aget v13, v13, v14

    shl-int/lit8 v13, v13, 0x3

    :goto_5
    mul-int/2addr v12, v13

    const/4 v13, 0x2

    aget v14, v4, v13

    const/4 v15, 0x2

    aget v15, v5, v15

    add-int/2addr v14, v15

    aput v14, v4, v13

    const/4 v13, 0x2

    const/4 v14, 0x0

    aput v14, v6, v13

    move-object/from16 v0, p0

    iget-object v0, v0, Lv;->f:[I

    move-object v13, v0

    const/4 v14, 0x0

    aget v13, v13, v14

    const/4 v14, 0x2

    if-ne v13, v14, :cond_b

    move-object/from16 v0, p0

    iget-object v0, v0, Lv;->f:[I

    move-object v13, v0

    const/4 v14, 0x1

    aget v13, v13, v14

    const/4 v14, 0x1

    if-ne v13, v14, :cond_b

    move-object/from16 v0, p0

    iget-object v0, v0, Lv;->f:[I

    move-object v13, v0

    const/4 v14, 0x2

    aget v13, v13, v14

    const/4 v14, 0x1

    if-ne v13, v14, :cond_b

    const/4 v13, 0x0

    move/from16 v21, v13

    move v13, v9

    move/from16 v9, v21

    :goto_6
    move-object/from16 v0, p0

    iget v0, v0, Lv;->N:I

    move v14, v0

    shr-int/lit8 v14, v14, 0x1

    if-ge v9, v14, :cond_a

    move-object/from16 v0, p0

    iget-object v0, v0, Lv;->t:[[B

    move-object v14, v0

    const/4 v15, 0x0

    aget-object v14, v14, v15

    shl-int/lit8 v15, v9, 0x1

    add-int/2addr v15, v10

    aget-byte v14, v14, v15

    and-int/lit16 v14, v14, 0xff

    move-object/from16 v0, p0

    iget-object v0, v0, Lv;->t:[[B

    move-object v15, v0

    const/16 v16, 0x1

    aget-object v15, v15, v16

    add-int v16, v11, v9

    aget-byte v15, v15, v16

    and-int/lit16 v15, v15, 0xff

    move-object/from16 v0, p0

    iget-object v0, v0, Lv;->t:[[B

    move-object/from16 v16, v0

    const/16 v17, 0x2

    aget-object v16, v16, v17

    add-int v17, v12, v9

    aget-byte v16, v16, v17

    move/from16 v0, v16

    and-int/lit16 v0, v0, 0xff

    move/from16 v16, v0

    sget-object v17, Lv;->P:[S

    aget-short v17, v17, v16

    sget-object v18, Lv;->Q:[S

    aget-short v18, v18, v15

    add-int/lit8 v15, v15, -0x80

    add-int/lit8 v16, v16, -0x80

    mul-int/lit16 v15, v15, 0x2c1

    move/from16 v0, v16

    mul-int/lit16 v0, v0, 0x5b7

    move/from16 v16, v0

    add-int v15, v15, v16

    add-int/lit16 v15, v15, 0x400

    shr-int/lit8 v15, v15, 0xb

    sget-object v16, Lv;->O:[S

    add-int v19, v14, v17

    move/from16 v0, v19

    add-int/lit16 v0, v0, 0x100

    move/from16 v19, v0

    aget-short v16, v16, v19

    sget-object v19, Lv;->O:[S

    sub-int v20, v14, v15

    move/from16 v0, v20

    add-int/lit16 v0, v0, 0x100

    move/from16 v20, v0

    aget-short v19, v19, v20

    sget-object v20, Lv;->O:[S

    add-int v14, v14, v18

    add-int/lit16 v14, v14, 0x100

    aget-short v14, v20, v14

    add-int/lit8 v20, v13, 0x1

    shl-int/lit8 v16, v16, 0x10

    shl-int/lit8 v19, v19, 0x8

    or-int v16, v16, v19

    or-int v14, v14, v16

    aput v14, v7, v13

    move-object/from16 v0, p0

    iget-object v0, v0, Lv;->t:[[B

    move-object v13, v0

    const/4 v14, 0x0

    aget-object v13, v13, v14

    shl-int/lit8 v14, v9, 0x1

    add-int/2addr v14, v10

    add-int/lit8 v14, v14, 0x1

    aget-byte v13, v13, v14

    and-int/lit16 v13, v13, 0xff

    sget-object v14, Lv;->O:[S

    add-int v16, v13, v17

    move/from16 v0, v16

    add-int/lit16 v0, v0, 0x100

    move/from16 v16, v0

    aget-short v14, v14, v16

    sget-object v16, Lv;->O:[S

    sub-int v15, v13, v15

    add-int/lit16 v15, v15, 0x100

    aget-short v15, v16, v15

    sget-object v16, Lv;->O:[S

    add-int v13, v13, v18

    add-int/lit16 v13, v13, 0x100

    aget-short v13, v16, v13

    add-int/lit8 v16, v20, 0x1

    shl-int/lit8 v14, v14, 0x10

    shl-int/lit8 v15, v15, 0x8

    or-int/2addr v14, v15

    or-int/2addr v13, v14

    aput v13, v7, v20

    add-int/lit8 v9, v9, 0x1

    move/from16 v13, v16

    goto/16 :goto_6

    :cond_4
    move-object/from16 v0, p0

    iget v0, v0, Lv;->r:I

    move v7, v0

    if-nez v7, :cond_5

    move-object/from16 v0, p0

    iget v0, v0, Lv;->w:I

    move v7, v0

    move-object/from16 v0, p0

    iget v0, v0, Lv;->h:I

    move v8, v0

    shl-int/lit8 v8, v8, 0x3

    rem-int/2addr v7, v8

    :goto_7
    move v0, v7

    move-object/from16 v1, p0

    iput v0, v1, Lv;->N:I

    move-object/from16 v0, p0

    iget v0, v0, Lv;->N:I

    move v7, v0

    if-nez v7, :cond_1

    move-object/from16 v0, p0

    iget v0, v0, Lv;->h:I

    move v7, v0

    shl-int/lit8 v7, v7, 0x3

    move v0, v7

    move-object/from16 v1, p0

    iput v0, v1, Lv;->N:I

    goto/16 :goto_0

    :cond_5
    move-object/from16 v0, p0

    iget v0, v0, Lv;->h:I

    move v7, v0

    shl-int/lit8 v7, v7, 0x3

    goto :goto_7

    :cond_6
    move-object/from16 v0, p0

    iget-object v0, v0, Lv;->v:[I

    move-object v7, v0

    goto/16 :goto_1

    :cond_7
    move-object/from16 v0, p0

    iget-object v0, v0, Lv;->j:[I

    move-object v11, v0

    const/4 v12, 0x0

    aget v11, v11, v12

    shl-int/lit8 v11, v11, 0x3

    goto/16 :goto_3

    :cond_8
    move-object/from16 v0, p0

    iget-object v0, v0, Lv;->j:[I

    move-object v12, v0

    const/4 v13, 0x1

    aget v12, v12, v13

    shl-int/lit8 v12, v12, 0x3

    goto/16 :goto_4

    :cond_9
    move-object/from16 v0, p0

    iget-object v0, v0, Lv;->j:[I

    move-object v13, v0

    const/4 v14, 0x2

    aget v13, v13, v14

    shl-int/lit8 v13, v13, 0x3

    goto/16 :goto_5

    :cond_a
    move-object/from16 v0, p0

    iget v0, v0, Lv;->w:I

    move v9, v0

    and-int/lit8 v9, v9, 0x1

    if-eqz v9, :cond_b

    move-object/from16 v0, p0

    iget v0, v0, Lv;->r:I

    move v9, v0

    if-nez v9, :cond_b

    if-eqz p1, :cond_c

    move-object/from16 v0, p0

    iget v0, v0, Lv;->h:I

    move v9, v0

    mul-int/lit8 v9, v9, 0x8

    :goto_8
    move-object/from16 v0, p0

    iget-object v0, v0, Lv;->t:[[B

    move-object v14, v0

    const/4 v15, 0x0

    aget-object v14, v14, v15

    add-int/2addr v10, v9

    const/4 v15, 0x1

    sub-int/2addr v10, v15

    aget-byte v10, v14, v10

    and-int/lit16 v10, v10, 0xff

    move-object/from16 v0, p0

    iget-object v0, v0, Lv;->t:[[B

    move-object v14, v0

    const/4 v15, 0x1

    aget-object v14, v14, v15

    const/4 v15, 0x1

    sub-int v15, v9, v15

    shr-int/lit8 v15, v15, 0x1

    add-int/2addr v11, v15

    aget-byte v11, v14, v11

    and-int/lit16 v11, v11, 0xff

    move-object/from16 v0, p0

    iget-object v0, v0, Lv;->t:[[B

    move-object v14, v0

    const/4 v15, 0x2

    aget-object v14, v14, v15

    const/4 v15, 0x1

    sub-int/2addr v9, v15

    shr-int/lit8 v9, v9, 0x1

    add-int/2addr v9, v12

    aget-byte v9, v14, v9

    and-int/lit16 v9, v9, 0xff

    sget-object v12, Lv;->O:[S

    sget-object v14, Lv;->Q:[S

    aget-short v14, v14, v11

    add-int/2addr v14, v10

    add-int/lit16 v14, v14, 0x100

    aget-short v12, v12, v14

    add-int/lit8 v11, v11, -0x80

    add-int/lit8 v9, v9, -0x80

    sget-object v14, Lv;->O:[S

    mul-int/lit16 v11, v11, 0x2c1

    mul-int/lit16 v15, v9, 0x5b7

    add-int/2addr v11, v15

    add-int/lit16 v11, v11, 0x400

    shr-int/lit8 v11, v11, 0xb

    sub-int v11, v10, v11

    add-int/lit16 v11, v11, 0x100

    aget-short v11, v14, v11

    sget-object v14, Lv;->O:[S

    sget-object v15, Lv;->P:[S

    add-int/lit16 v9, v9, 0x80

    aget-short v9, v15, v9

    add-int/2addr v9, v10

    add-int/lit16 v9, v9, 0x100

    aget-short v9, v14, v9

    add-int/lit8 v10, v13, 0x1

    shl-int/lit8 v9, v9, 0x10

    shl-int/lit8 v10, v11, 0x8

    or-int/2addr v9, v10

    or-int/2addr v9, v12

    aput v9, v7, v13

    :cond_b
    add-int/lit8 v8, v8, 0x1

    goto/16 :goto_2

    :cond_c
    move-object/from16 v0, p0

    iget v0, v0, Lv;->w:I

    move v9, v0

    goto :goto_8

    :cond_d
    return-void
.end method

.method private I(I)I
    .locals 3

    const/16 v2, 0x8

    iget v0, p0, Lv;->K:I

    if-ge v0, v2, :cond_0

    invoke-direct {p0}, Lv;->J()V

    iget v0, p0, Lv;->K:I

    if-ge v0, v2, :cond_0

    const/4 v0, 0x1

    invoke-direct {p0, p1, v0}, Lv;->I(II)I

    move-result v0

    :goto_0
    return v0

    :cond_0
    iget v0, p0, Lv;->H:I

    ushr-int/lit8 v0, v0, 0x18

    iget-object v1, p0, Lv;->F:[[B

    aget-object v1, v1, p1

    aget-byte v1, v1, v0

    if-gt v1, v2, :cond_1

    iget v2, p0, Lv;->H:I

    shl-int/2addr v2, v1

    iput v2, p0, Lv;->H:I

    iget v2, p0, Lv;->K:I

    sub-int v1, v2, v1

    iput v1, p0, Lv;->K:I

    iget-object v1, p0, Lv;->F:[[B

    aget-object v1, v1, p1

    add-int/lit16 v0, v0, 0x100

    aget-byte v0, v1, v0

    and-int/lit16 v0, v0, 0xff

    goto :goto_0

    :cond_1
    const/16 v0, 0x9

    invoke-direct {p0, p1, v0}, Lv;->I(II)I

    move-result v0

    goto :goto_0
.end method

.method private I(II)I
    .locals 5

    const/4 v3, 0x1

    sub-int v0, p2, v3

    invoke-direct {p0, p2}, Lv;->Code(I)I

    move-result v1

    if-gez v1, :cond_2

    move v0, v1

    :goto_0
    return v0

    :cond_0
    shl-int/lit8 v0, v0, 0x1

    or-int/2addr v0, v2

    :goto_1
    const/16 v2, 0x10

    if-ge v1, v2, :cond_1

    iget-object v2, p0, Lv;->z:[[I

    aget-object v2, v2, p1

    aget v2, v2, v1

    if-le v0, v2, :cond_1

    add-int/lit8 v1, v1, 0x1

    invoke-direct {p0, v3}, Lv;->Code(I)I

    move-result v2

    if-gez v2, :cond_0

    move v0, v2

    goto :goto_0

    :cond_1
    iget-object v2, p0, Lv;->D:[[S

    aget-object v2, v2, p1

    aget-short v2, v2, v1

    iget-object v3, p0, Lv;->A:[[I

    aget-object v3, v3, p1

    aget v1, v3, v1

    sub-int/2addr v0, v1

    add-int/2addr v0, v2

    iget-object v1, p0, Lv;->E:[[B

    aget-object v1, v1, p1

    aget-byte v0, v1, v0

    and-int/lit16 v0, v0, 0xff

    goto :goto_0

    :cond_2
    move v4, v1

    move v1, v0

    move v0, v4

    goto :goto_1
.end method

.method private I()V
    .locals 6

    const/4 v2, 0x1

    const/4 v5, 0x0

    iget v0, p0, Lv;->k:I

    if-ne v0, v2, :cond_0

    iget-object v0, p0, Lv;->l:[I

    iget v1, p0, Lv;->m:I

    aget v0, v0, v1

    iget-object v1, p0, Lv;->f:[I

    aget v0, v1, v0

    iget v1, p0, Lv;->w:I

    mul-int/2addr v0, v1

    iget v1, p0, Lv;->h:I

    add-int/2addr v0, v1

    sub-int/2addr v0, v2

    iget v1, p0, Lv;->h:I

    div-int/2addr v0, v1

    add-int/lit8 v0, v0, 0x7

    shr-int/lit8 v0, v0, 0x3

    iput v0, p0, Lv;->r:I

    iget-object v0, p0, Lv;->q:[I

    iget-object v1, p0, Lv;->l:[I

    iget v2, p0, Lv;->m:I

    aget v1, v1, v2

    aput v5, v0, v1

    :goto_0
    return-void

    :cond_0
    iput v5, p0, Lv;->r:I

    move v0, v5

    :goto_1
    iget v1, p0, Lv;->k:I

    if-ge v0, v1, :cond_1

    iget v1, p0, Lv;->r:I

    iget-object v2, p0, Lv;->e:[I

    iget-object v3, p0, Lv;->l:[I

    aget v3, v3, v0

    aget v2, v2, v3

    iget-object v3, p0, Lv;->f:[I

    iget-object v4, p0, Lv;->l:[I

    aget v4, v4, v0

    aget v3, v3, v4

    mul-int/2addr v2, v3

    add-int/2addr v1, v2

    iput v1, p0, Lv;->r:I

    iget-object v1, p0, Lv;->q:[I

    iget-object v2, p0, Lv;->l:[I

    aget v2, v2, v0

    aput v5, v1, v2

    add-int/lit8 v0, v0, 0x1

    goto :goto_1

    :cond_1
    iget v0, p0, Lv;->r:I

    iput v0, p0, Lv;->s:I

    iget v0, p0, Lv;->r:I

    iget v1, p0, Lv;->V:I

    iget v2, p0, Lv;->h:I

    mul-int/lit8 v2, v2, 0x8

    div-int/2addr v1, v2

    mul-int/2addr v0, v1

    iput v0, p0, Lv;->r:I

    goto :goto_0
.end method

.method private J()V
    .locals 5

    const/16 v4, 0x18

    const/4 v3, 0x1

    :goto_0
    iget v0, p0, Lv;->K:I

    if-gt v0, v4, :cond_0

    iget v0, p0, Lv;->c:I

    if-lez v0, :cond_0

    iget-object v0, p0, Lv;->a:[B

    iget v1, p0, Lv;->b:I

    aget-byte v0, v0, v1

    and-int/lit16 v0, v0, 0xff

    const/16 v1, 0xff

    if-ne v0, v1, :cond_2

    iget v1, p0, Lv;->c:I

    const/4 v2, 0x2

    if-lt v1, v2, :cond_0

    iget-object v1, p0, Lv;->a:[B

    iget v2, p0, Lv;->b:I

    add-int/lit8 v2, v2, 0x1

    aget-byte v1, v1, v2

    if-eqz v1, :cond_1

    :cond_0
    return-void

    :cond_1
    iget v1, p0, Lv;->b:I

    add-int/lit8 v1, v1, 0x1

    iput v1, p0, Lv;->b:I

    iget v1, p0, Lv;->c:I

    sub-int/2addr v1, v3

    iput v1, p0, Lv;->c:I

    :cond_2
    iget v1, p0, Lv;->b:I

    add-int/lit8 v1, v1, 0x1

    iput v1, p0, Lv;->b:I

    iget v1, p0, Lv;->c:I

    sub-int/2addr v1, v3

    iput v1, p0, Lv;->c:I

    iget v1, p0, Lv;->H:I

    iget v2, p0, Lv;->K:I

    sub-int v2, v4, v2

    shl-int/2addr v0, v2

    or-int/2addr v0, v1

    iput v0, p0, Lv;->H:I

    iget v0, p0, Lv;->K:I

    add-int/lit8 v0, v0, 0x8

    iput v0, p0, Lv;->K:I

    goto :goto_0
.end method

.method private static Z(II)I
    .locals 1

    shr-int/lit8 v0, p0, 0x8

    mul-int/2addr v0, p1

    return v0
.end method

.method private Z()V
    .locals 3

    const/4 v2, 0x0

    move v0, v2

    :goto_0
    const/4 v1, 0x3

    if-ge v0, v1, :cond_0

    iget-object v1, p0, Lv;->G:[S

    aput-short v2, v1, v0

    add-int/lit8 v0, v0, 0x1

    goto :goto_0

    :cond_0
    iput v2, p0, Lv;->H:I

    iput v2, p0, Lv;->K:I

    return-void
.end method


# virtual methods
.method public final Code([BIIIZ)I
    .locals 15

    move-object/from16 v0, p1

    move-object v1, p0

    iput-object v0, v1, Lv;->a:[B

    move/from16 v0, p2

    move-object v1, p0

    iput v0, v1, Lv;->b:I

    move/from16 v0, p3

    move-object v1, p0

    iput v0, v1, Lv;->c:I

    move/from16 v0, p4

    move-object v1, p0

    iput v0, v1, Lv;->Code:I

    const/4 v2, 0x0

    :cond_0
    :goto_0
    if-nez v2, :cond_4d

    :goto_1
    iget v3, p0, Lv;->R:I

    if-lez v3, :cond_3

    iget v3, p0, Lv;->R:I

    iget v4, p0, Lv;->c:I

    if-lt v3, v4, :cond_2

    iget v2, p0, Lv;->R:I

    iget v3, p0, Lv;->c:I

    sub-int/2addr v2, v3

    iput v2, p0, Lv;->R:I

    const/4 v2, 0x0

    :cond_1
    :goto_2
    return v2

    :cond_2
    iget v3, p0, Lv;->b:I

    iget v4, p0, Lv;->R:I

    add-int/2addr v3, v4

    iput v3, p0, Lv;->b:I

    iget v3, p0, Lv;->c:I

    iget v4, p0, Lv;->R:I

    sub-int/2addr v3, v4

    iput v3, p0, Lv;->c:I

    const/4 v3, 0x0

    iput v3, p0, Lv;->R:I

    goto :goto_1

    :cond_3
    iget v3, p0, Lv;->d:I

    packed-switch v3, :pswitch_data_0

    goto :goto_0

    :pswitch_0
    iget v3, p0, Lv;->c:I

    const/4 v4, 0x2

    if-ge v3, v4, :cond_4c

    iget v2, p0, Lv;->c:I

    goto :goto_2

    :pswitch_1
    iget v3, p0, Lv;->c:I

    const/4 v4, 0x2

    if-ge v3, v4, :cond_4

    iget v2, p0, Lv;->c:I

    goto :goto_2

    :cond_4
    :goto_3
    iget v3, p0, Lv;->c:I

    const/4 v4, 0x2

    if-lt v3, v4, :cond_0

    if-nez v2, :cond_0

    iget v3, p0, Lv;->R:I

    if-nez v3, :cond_0

    iget v3, p0, Lv;->d:I

    const/4 v4, 0x1

    if-eq v3, v4, :cond_5

    iget v3, p0, Lv;->d:I

    const/4 v4, 0x2

    if-ne v3, v4, :cond_0

    :cond_5
    iget-object v3, p0, Lv;->a:[B

    iget v4, p0, Lv;->b:I

    aget-byte v3, v3, v4

    and-int/lit16 v3, v3, 0xff

    const/16 v4, 0xff

    if-eq v3, v4, :cond_6

    iget v3, p0, Lv;->b:I

    add-int/lit8 v3, v3, 0x1

    iput v3, p0, Lv;->b:I

    iget v3, p0, Lv;->c:I

    const/4 v4, 0x1

    sub-int/2addr v3, v4

    iput v3, p0, Lv;->c:I

    goto :goto_3

    :cond_6
    iget-object v3, p0, Lv;->a:[B

    iget v4, p0, Lv;->b:I

    add-int/lit8 v4, v4, 0x1

    aget-byte v3, v3, v4

    and-int/lit16 v3, v3, 0xff

    sparse-switch v3, :sswitch_data_0

    iget v3, p0, Lv;->c:I

    const/4 v4, 0x4

    if-ge v3, v4, :cond_29

    iget v2, p0, Lv;->c:I

    goto :goto_2

    :sswitch_0
    iget v3, p0, Lv;->c:I

    const/4 v4, 0x4

    if-ge v3, v4, :cond_7

    iget v2, p0, Lv;->c:I

    goto :goto_2

    :cond_7
    iget-object v3, p0, Lv;->a:[B

    iget v4, p0, Lv;->b:I

    add-int/lit8 v4, v4, 0x2

    aget-byte v3, v3, v4

    and-int/lit16 v3, v3, 0xff

    shl-int/lit8 v3, v3, 0x8

    iget-object v4, p0, Lv;->a:[B

    iget v5, p0, Lv;->b:I

    add-int/lit8 v5, v5, 0x3

    aget-byte v4, v4, v5

    and-int/lit16 v4, v4, 0xff

    or-int/2addr v3, v4

    iput v3, p0, Lv;->S:I

    iget v3, p0, Lv;->c:I

    const/16 v4, 0xa

    if-ge v3, v4, :cond_8

    iget v2, p0, Lv;->c:I

    goto/16 :goto_2

    :cond_8
    iget v3, p0, Lv;->b:I

    add-int/lit8 v3, v3, 0x4

    iput v3, p0, Lv;->b:I

    iget v3, p0, Lv;->c:I

    const/4 v4, 0x4

    sub-int/2addr v3, v4

    iput v3, p0, Lv;->c:I

    iget v3, p0, Lv;->S:I

    const/4 v4, 0x2

    sub-int/2addr v3, v4

    iput v3, p0, Lv;->S:I

    iget-object v3, p0, Lv;->a:[B

    iget v4, p0, Lv;->b:I

    add-int/lit8 v4, v4, 0x3

    aget-byte v3, v3, v4

    and-int/lit16 v3, v3, 0xff

    shl-int/lit8 v3, v3, 0x8

    iget-object v4, p0, Lv;->a:[B

    iget v5, p0, Lv;->b:I

    add-int/lit8 v5, v5, 0x4

    aget-byte v4, v4, v5

    and-int/lit16 v4, v4, 0xff

    or-int/2addr v3, v4

    iput v3, p0, Lv;->w:I

    iget-object v3, p0, Lv;->a:[B

    iget v4, p0, Lv;->b:I

    add-int/lit8 v4, v4, 0x1

    aget-byte v3, v3, v4

    and-int/lit16 v3, v3, 0xff

    shl-int/lit8 v3, v3, 0x8

    iget-object v4, p0, Lv;->a:[B

    iget v5, p0, Lv;->b:I

    add-int/lit8 v5, v5, 0x2

    aget-byte v4, v4, v5

    and-int/lit16 v4, v4, 0xff

    or-int/2addr v3, v4

    iput v3, p0, Lv;->x:I

    if-eqz p5, :cond_9

    const/4 v2, 0x0

    iput v2, p0, Lv;->d:I

    iget v2, p0, Lv;->w:I

    shl-int/lit8 v2, v2, 0x10

    iget v3, p0, Lv;->x:I

    or-int/2addr v2, v3

    goto/16 :goto_2

    :cond_9
    iget v3, p0, Lv;->w:I

    iget v4, p0, Lv;->Code:I

    shr-int/2addr v3, v4

    iput v3, p0, Lv;->I:I

    iget v3, p0, Lv;->x:I

    iget v4, p0, Lv;->Code:I

    shr-int/2addr v3, v4

    iput v3, p0, Lv;->Z:I

    iget v3, p0, Lv;->I:I

    iget v4, p0, Lv;->Z:I

    mul-int/2addr v3, v4

    new-array v3, v3, [I

    iput-object v3, p0, Lv;->v:[I

    iget-object v3, p0, Lv;->a:[B

    iget v4, p0, Lv;->b:I

    add-int/lit8 v4, v4, 0x5

    aget-byte v3, v3, v4

    and-int/lit16 v3, v3, 0xff

    iput v3, p0, Lv;->T:I

    const/4 v3, 0x0

    :goto_4
    const/4 v4, 0x3

    if-ge v3, v4, :cond_a

    iget-object v4, p0, Lv;->y:[I

    shl-int/lit8 v5, v3, 0x1

    const/4 v6, 0x0

    aput v6, v4, v5

    iget-object v4, p0, Lv;->y:[I

    shl-int/lit8 v5, v3, 0x1

    add-int/lit8 v5, v5, 0x1

    const/4 v6, 0x4

    aput v6, v4, v5

    add-int/lit8 v3, v3, 0x1

    goto :goto_4

    :cond_a
    invoke-direct {p0}, Lv;->Z()V

    iget v3, p0, Lv;->b:I

    add-int/lit8 v3, v3, 0x6

    iput v3, p0, Lv;->b:I

    iget v3, p0, Lv;->c:I

    const/4 v4, 0x6

    sub-int/2addr v3, v4

    iput v3, p0, Lv;->c:I

    iget v3, p0, Lv;->S:I

    const/4 v4, 0x6

    sub-int/2addr v3, v4

    iput v3, p0, Lv;->S:I

    const/4 v3, 0x3

    iput v3, p0, Lv;->d:I

    goto/16 :goto_3

    :sswitch_1
    iget v3, p0, Lv;->c:I

    const/4 v4, 0x4

    if-ge v3, v4, :cond_b

    iget v2, p0, Lv;->c:I

    goto/16 :goto_2

    :cond_b
    iget-object v3, p0, Lv;->a:[B

    iget v4, p0, Lv;->b:I

    add-int/lit8 v4, v4, 0x2

    aget-byte v3, v3, v4

    and-int/lit16 v3, v3, 0xff

    shl-int/lit8 v3, v3, 0x8

    iget-object v4, p0, Lv;->a:[B

    iget v5, p0, Lv;->b:I

    add-int/lit8 v5, v5, 0x3

    aget-byte v4, v4, v5

    and-int/lit16 v4, v4, 0xff

    or-int/2addr v3, v4

    iput v3, p0, Lv;->S:I

    iget v3, p0, Lv;->c:I

    iget v4, p0, Lv;->S:I

    add-int/lit8 v4, v4, 0x2

    if-ge v3, v4, :cond_c

    iget v2, p0, Lv;->c:I

    goto/16 :goto_2

    :cond_c
    iget-object v3, p0, Lv;->a:[B

    iget v4, p0, Lv;->b:I

    add-int/lit8 v4, v4, 0x4

    aget-byte v3, v3, v4

    and-int/lit16 v3, v3, 0xff

    iput v3, p0, Lv;->k:I

    iget v3, p0, Lv;->b:I

    add-int/lit8 v3, v3, 0x5

    iput v3, p0, Lv;->b:I

    iget v3, p0, Lv;->c:I

    const/4 v4, 0x5

    sub-int/2addr v3, v4

    iput v3, p0, Lv;->c:I

    iget v3, p0, Lv;->S:I

    const/4 v4, 0x3

    sub-int/2addr v3, v4

    iput v3, p0, Lv;->S:I

    const/4 v3, 0x0

    :goto_5
    iget v4, p0, Lv;->k:I

    if-ge v3, v4, :cond_f

    iget-object v4, p0, Lv;->a:[B

    iget v5, p0, Lv;->b:I

    aget-byte v4, v4, v5

    and-int/lit16 v4, v4, 0xff

    iget-object v5, p0, Lv;->l:[I

    aput v3, v5, v3

    const/4 v5, 0x0

    :goto_6
    iget v6, p0, Lv;->T:I

    if-ge v5, v6, :cond_e

    iget-object v6, p0, Lv;->U:[I

    aget v6, v6, v5

    if-ne v4, v6, :cond_d

    iget-object v6, p0, Lv;->l:[I

    aput v5, v6, v3

    iget v5, p0, Lv;->T:I

    :cond_d
    add-int/lit8 v5, v5, 0x1

    goto :goto_6

    :cond_e
    iget-object v4, p0, Lv;->a:[B

    iget v5, p0, Lv;->b:I

    add-int/lit8 v5, v5, 0x1

    aget-byte v4, v4, v5

    and-int/lit16 v4, v4, 0xff

    iget-object v5, p0, Lv;->y:[I

    iget-object v6, p0, Lv;->l:[I

    aget v6, v6, v3

    shl-int/lit8 v6, v6, 0x1

    shr-int/lit8 v7, v4, 0x4

    aput v7, v5, v6

    iget-object v5, p0, Lv;->y:[I

    iget-object v6, p0, Lv;->l:[I

    aget v6, v6, v3

    shl-int/lit8 v6, v6, 0x1

    add-int/lit8 v6, v6, 0x1

    and-int/lit8 v4, v4, 0xf

    add-int/lit8 v4, v4, 0x4

    aput v4, v5, v6

    iget v4, p0, Lv;->b:I

    add-int/lit8 v4, v4, 0x2

    iput v4, p0, Lv;->b:I

    iget v4, p0, Lv;->c:I

    const/4 v5, 0x2

    sub-int/2addr v4, v5

    iput v4, p0, Lv;->c:I

    iget v4, p0, Lv;->S:I

    const/4 v5, 0x2

    sub-int/2addr v4, v5

    iput v4, p0, Lv;->S:I

    add-int/lit8 v3, v3, 0x1

    goto :goto_5

    :cond_f
    invoke-direct {p0}, Lv;->Z()V

    const/4 v3, 0x0

    iput v3, p0, Lv;->n:I

    const/4 v3, 0x0

    iput v3, p0, Lv;->m:I

    const/4 v3, 0x0

    iput v3, p0, Lv;->o:I

    const/4 v3, 0x0

    iput v3, p0, Lv;->u:I

    invoke-direct {p0}, Lv;->I()V

    iget v3, p0, Lv;->b:I

    iget v4, p0, Lv;->S:I

    add-int/2addr v3, v4

    iput v3, p0, Lv;->b:I

    iget v3, p0, Lv;->c:I

    iget v4, p0, Lv;->S:I

    sub-int/2addr v3, v4

    iput v3, p0, Lv;->c:I

    const/4 v3, 0x4

    iput v3, p0, Lv;->d:I

    goto/16 :goto_3

    :sswitch_2
    iget v2, p0, Lv;->c:I

    const/4 v3, 0x4

    if-ge v2, v3, :cond_10

    const/4 v2, -0x2

    goto/16 :goto_3

    :cond_10
    iget-object v2, p0, Lv;->a:[B

    iget v3, p0, Lv;->b:I

    add-int/lit8 v3, v3, 0x2

    aget-byte v2, v2, v3

    and-int/lit16 v2, v2, 0xff

    shl-int/lit8 v2, v2, 0x8

    iget-object v3, p0, Lv;->a:[B

    iget v4, p0, Lv;->b:I

    add-int/lit8 v4, v4, 0x3

    aget-byte v3, v3, v4

    and-int/lit16 v3, v3, 0xff

    or-int/2addr v2, v3

    iget v3, p0, Lv;->c:I

    add-int/lit8 v4, v2, 0x2

    if-ge v3, v4, :cond_11

    const/4 v2, -0x2

    goto/16 :goto_3

    :cond_11
    add-int/lit8 v2, v2, -0x2

    iget v3, p0, Lv;->b:I

    add-int/lit8 v3, v3, 0x4

    iput v3, p0, Lv;->b:I

    iget v3, p0, Lv;->c:I

    const/4 v4, 0x4

    sub-int/2addr v3, v4

    iput v3, p0, Lv;->c:I

    :cond_12
    if-lez v2, :cond_1f

    iget-object v3, p0, Lv;->a:[B

    iget v4, p0, Lv;->b:I

    aget-byte v3, v3, v4

    and-int/lit8 v3, v3, 0xf

    iget-object v4, p0, Lv;->a:[B

    iget v5, p0, Lv;->b:I

    aget-byte v4, v4, v5

    and-int/lit8 v4, v4, 0x10

    shr-int/lit8 v4, v4, 0x2

    or-int/2addr v3, v4

    iget v4, p0, Lv;->b:I

    add-int/lit8 v4, v4, 0x1

    iput v4, p0, Lv;->b:I

    iget v4, p0, Lv;->c:I

    const/4 v5, 0x1

    sub-int/2addr v4, v5

    iput v4, p0, Lv;->c:I

    add-int/lit8 v2, v2, -0x1

    const/4 v4, 0x0

    const/16 v5, 0x10

    new-array v5, v5, [S

    const/4 v6, 0x0

    const/4 v7, 0x0

    :goto_7
    const/16 v8, 0x10

    if-ge v7, v8, :cond_13

    iget-object v8, p0, Lv;->a:[B

    iget v9, p0, Lv;->b:I

    add-int/2addr v9, v7

    aget-byte v8, v8, v9

    and-int/lit16 v8, v8, 0xff

    int-to-short v8, v8

    aput-short v8, v5, v7

    aget-short v8, v5, v7

    add-int/2addr v6, v8

    add-int/lit8 v7, v7, 0x1

    goto :goto_7

    :cond_13
    add-int/lit8 v7, v6, 0x1

    new-array v7, v7, [I

    new-array v6, v6, [I

    const/4 v8, 0x0

    move v14, v8

    move v8, v4

    move v4, v14

    :goto_8
    const/16 v9, 0x10

    if-ge v4, v9, :cond_15

    const/4 v9, 0x1

    move v14, v9

    move v9, v8

    move v8, v14

    :goto_9
    aget-short v10, v5, v4

    if-gt v8, v10, :cond_14

    add-int/lit8 v10, v4, 0x1

    aput v10, v7, v9

    add-int/lit8 v8, v8, 0x1

    add-int/lit8 v9, v9, 0x1

    goto :goto_9

    :cond_14
    add-int/lit8 v4, v4, 0x1

    move v8, v9

    goto :goto_8

    :cond_15
    const/4 v4, 0x0

    aput v4, v7, v8

    const/4 v4, 0x0

    const/4 v9, 0x0

    const/4 v10, 0x0

    aget v10, v7, v10

    move v14, v10

    move v10, v4

    move v4, v14

    :cond_16
    aget v11, v7, v10

    if-eqz v11, :cond_18

    :goto_a
    aget v11, v7, v10

    if-ne v11, v4, :cond_17

    aput v9, v6, v10

    add-int/lit8 v9, v9, 0x1

    add-int/lit8 v10, v10, 0x1

    goto :goto_a

    :cond_17
    aget v11, v7, v10

    if-eqz v11, :cond_16

    :goto_b
    aget v11, v7, v10

    if-eq v11, v4, :cond_16

    shl-int/lit8 v9, v9, 0x1

    add-int/lit8 v4, v4, 0x1

    goto :goto_b

    :cond_18
    iget-object v4, p0, Lv;->A:[[I

    const/16 v7, 0x10

    new-array v7, v7, [I

    aput-object v7, v4, v3

    iget-object v4, p0, Lv;->z:[[I

    const/16 v7, 0x10

    new-array v7, v7, [I

    aput-object v7, v4, v3

    iget-object v4, p0, Lv;->D:[[S

    const/16 v7, 0x10

    new-array v7, v7, [S

    aput-object v7, v4, v3

    const/4 v4, 0x0

    const/4 v7, 0x0

    :goto_c
    const/16 v9, 0x10

    if-ge v7, v9, :cond_1a

    aget-short v9, v5, v7

    if-nez v9, :cond_19

    iget-object v9, p0, Lv;->z:[[I

    aget-object v9, v9, v3

    const/4 v10, -0x1

    aput v10, v9, v7

    :goto_d
    add-int/lit8 v7, v7, 0x1

    goto :goto_c

    :cond_19
    iget-object v9, p0, Lv;->D:[[S

    aget-object v9, v9, v3

    int-to-short v10, v4

    aput-short v10, v9, v7

    iget-object v9, p0, Lv;->A:[[I

    aget-object v9, v9, v3

    aget v10, v6, v4

    aput v10, v9, v7

    aget-short v9, v5, v7

    const/4 v10, 0x1

    sub-int/2addr v9, v10

    add-int/2addr v4, v9

    iget-object v9, p0, Lv;->z:[[I

    aget-object v9, v9, v3

    aget v10, v6, v4

    aput v10, v9, v7

    add-int/lit8 v4, v4, 0x1

    goto :goto_d

    :cond_1a
    iget v4, p0, Lv;->b:I

    add-int/lit8 v4, v4, 0x10

    iput v4, p0, Lv;->b:I

    iget v4, p0, Lv;->c:I

    const/16 v7, 0x10

    sub-int/2addr v4, v7

    iput v4, p0, Lv;->c:I

    add-int/lit8 v2, v2, -0x10

    iget-object v4, p0, Lv;->E:[[B

    new-array v7, v8, [B

    aput-object v7, v4, v3

    const/4 v4, 0x0

    :goto_e
    if-ge v4, v8, :cond_1b

    iget-object v7, p0, Lv;->E:[[B

    aget-object v7, v7, v3

    iget-object v9, p0, Lv;->a:[B

    iget v10, p0, Lv;->b:I

    add-int/2addr v10, v4

    aget-byte v9, v9, v10

    aput-byte v9, v7, v4

    add-int/lit8 v4, v4, 0x1

    goto :goto_e

    :cond_1b
    iget v4, p0, Lv;->b:I

    add-int/2addr v4, v8

    iput v4, p0, Lv;->b:I

    iget v4, p0, Lv;->c:I

    sub-int/2addr v4, v8

    iput v4, p0, Lv;->c:I

    sub-int/2addr v2, v8

    iget-object v4, p0, Lv;->F:[[B

    const/16 v7, 0x200

    new-array v7, v7, [B

    aput-object v7, v4, v3

    const/4 v4, 0x0

    :goto_f
    const/16 v7, 0x100

    if-ge v4, v7, :cond_1c

    iget-object v7, p0, Lv;->F:[[B

    aget-object v7, v7, v3

    const/16 v8, 0x9

    aput-byte v8, v7, v4

    add-int/lit8 v4, v4, 0x1

    goto :goto_f

    :cond_1c
    const/4 v4, 0x0

    const/4 v7, 0x1

    :goto_10
    const/16 v8, 0x8

    if-gt v7, v8, :cond_12

    const/4 v8, 0x0

    move v14, v8

    move v8, v4

    move v4, v14

    :goto_11
    const/4 v9, 0x1

    sub-int v9, v7, v9

    aget-short v9, v5, v9

    if-ge v4, v9, :cond_1e

    aget v9, v6, v8

    const/16 v10, 0x8

    sub-int/2addr v10, v7

    shl-int/2addr v9, v10

    const/4 v10, 0x0

    :goto_12
    const/4 v11, 0x1

    const/16 v12, 0x8

    sub-int/2addr v12, v7

    shl-int/2addr v11, v12

    if-ge v10, v11, :cond_1d

    iget-object v11, p0, Lv;->F:[[B

    aget-object v11, v11, v3

    or-int v12, v9, v10

    int-to-byte v13, v7

    aput-byte v13, v11, v12

    iget-object v11, p0, Lv;->F:[[B

    aget-object v11, v11, v3

    or-int v12, v9, v10

    add-int/lit16 v12, v12, 0x100

    iget-object v13, p0, Lv;->E:[[B

    aget-object v13, v13, v3

    aget-byte v13, v13, v8

    aput-byte v13, v11, v12

    add-int/lit8 v10, v10, 0x1

    goto :goto_12

    :cond_1d
    add-int/lit8 v8, v8, 0x1

    add-int/lit8 v4, v4, 0x1

    goto :goto_11

    :cond_1e
    add-int/lit8 v4, v7, 0x1

    move v7, v4

    move v4, v8

    goto :goto_10

    :cond_1f
    const/4 v2, 0x0

    goto/16 :goto_3

    :sswitch_3
    iget v2, p0, Lv;->c:I

    const/4 v3, 0x4

    if-ge v2, v3, :cond_20

    const/4 v2, -0x2

    goto/16 :goto_3

    :cond_20
    iget-object v2, p0, Lv;->a:[B

    iget v3, p0, Lv;->b:I

    add-int/lit8 v3, v3, 0x2

    aget-byte v2, v2, v3

    and-int/lit16 v2, v2, 0xff

    shl-int/lit8 v2, v2, 0x8

    iget-object v3, p0, Lv;->a:[B

    iget v4, p0, Lv;->b:I

    add-int/lit8 v4, v4, 0x3

    aget-byte v3, v3, v4

    and-int/lit16 v3, v3, 0xff

    or-int/2addr v2, v3

    iget v3, p0, Lv;->c:I

    add-int/lit8 v4, v2, 0x2

    if-ge v3, v4, :cond_21

    const/4 v2, -0x2

    goto/16 :goto_3

    :cond_21
    iget v3, p0, Lv;->b:I

    add-int/lit8 v3, v3, 0x4

    iput v3, p0, Lv;->b:I

    iget v3, p0, Lv;->c:I

    const/4 v4, 0x4

    sub-int/2addr v3, v4

    iput v3, p0, Lv;->c:I

    add-int/lit8 v2, v2, -0x2

    :goto_13
    if-lez v2, :cond_26

    iget-object v3, p0, Lv;->a:[B

    iget v4, p0, Lv;->b:I

    aget-byte v3, v3, v4

    and-int/lit16 v3, v3, 0xf0

    if-eqz v3, :cond_22

    const/4 v3, 0x1

    :goto_14
    iget-object v4, p0, Lv;->a:[B

    iget v5, p0, Lv;->b:I

    aget-byte v4, v4, v5

    and-int/lit8 v4, v4, 0xf

    iget v5, p0, Lv;->b:I

    add-int/lit8 v5, v5, 0x1

    iput v5, p0, Lv;->b:I

    iget v5, p0, Lv;->c:I

    const/4 v6, 0x1

    sub-int/2addr v5, v6

    iput v5, p0, Lv;->c:I

    add-int/lit8 v2, v2, -0x1

    iget-object v5, p0, Lv;->L:[[I

    const/16 v6, 0x40

    new-array v6, v6, [I

    aput-object v6, v5, v4

    if-eqz v3, :cond_24

    const/4 v3, 0x0

    :goto_15
    const/16 v5, 0x40

    if-ge v3, v5, :cond_23

    sget-object v5, Lv;->B:[I

    aget v5, v5, v3

    iget-object v6, p0, Lv;->L:[[I

    aget-object v6, v6, v4

    iget-object v7, p0, Lv;->a:[B

    iget v8, p0, Lv;->b:I

    shl-int/lit8 v9, v5, 0x1

    add-int/2addr v8, v9

    aget-byte v7, v7, v8

    and-int/lit16 v7, v7, 0xff

    shl-int/lit8 v7, v7, 0x8

    iget-object v8, p0, Lv;->a:[B

    iget v9, p0, Lv;->b:I

    shl-int/lit8 v5, v5, 0x1

    add-int/2addr v5, v9

    add-int/lit8 v5, v5, 0x1

    aget-byte v5, v8, v5

    and-int/lit16 v5, v5, 0xff

    or-int/2addr v5, v7

    sget-object v7, Lv;->C:[I

    aget v7, v7, v3

    mul-int/2addr v5, v7

    aput v5, v6, v3

    add-int/lit8 v3, v3, 0x1

    goto :goto_15

    :cond_22
    const/4 v3, 0x0

    goto :goto_14

    :cond_23
    iget v3, p0, Lv;->b:I

    add-int/lit16 v3, v3, 0x80

    iput v3, p0, Lv;->b:I

    iget v3, p0, Lv;->c:I

    const/16 v4, 0x80

    sub-int/2addr v3, v4

    iput v3, p0, Lv;->c:I

    add-int/lit8 v2, v2, -0x80

    goto :goto_13

    :cond_24
    const/4 v3, 0x0

    :goto_16
    const/16 v5, 0x40

    if-ge v3, v5, :cond_25

    sget-object v5, Lv;->B:[I

    aget v5, v5, v3

    iget-object v6, p0, Lv;->L:[[I

    aget-object v6, v6, v4

    iget-object v7, p0, Lv;->a:[B

    iget v8, p0, Lv;->b:I

    add-int/2addr v5, v8

    aget-byte v5, v7, v5

    and-int/lit16 v5, v5, 0xff

    sget-object v7, Lv;->C:[I

    aget v7, v7, v3

    mul-int/2addr v5, v7

    aput v5, v6, v3

    add-int/lit8 v3, v3, 0x1

    goto :goto_16

    :cond_25
    iget v3, p0, Lv;->b:I

    add-int/lit8 v3, v3, 0x40

    iput v3, p0, Lv;->b:I

    iget v3, p0, Lv;->c:I

    const/16 v4, 0x40

    sub-int/2addr v3, v4

    iput v3, p0, Lv;->c:I

    add-int/lit8 v2, v2, -0x40

    goto/16 :goto_13

    :cond_26
    const/4 v2, 0x0

    goto/16 :goto_3

    :sswitch_4
    iget v3, p0, Lv;->c:I

    const/4 v4, 0x4

    if-ge v3, v4, :cond_27

    iget v2, p0, Lv;->c:I

    goto/16 :goto_2

    :cond_27
    iget-object v3, p0, Lv;->a:[B

    iget v4, p0, Lv;->b:I

    add-int/lit8 v4, v4, 0x2

    aget-byte v3, v3, v4

    and-int/lit16 v3, v3, 0xff

    shl-int/lit8 v3, v3, 0x8

    iget-object v4, p0, Lv;->a:[B

    iget v5, p0, Lv;->b:I

    add-int/lit8 v5, v5, 0x3

    aget-byte v4, v4, v5

    and-int/lit16 v4, v4, 0xff

    or-int/2addr v3, v4

    iput v3, p0, Lv;->R:I

    iget v3, p0, Lv;->c:I

    const/4 v4, 0x6

    if-ge v3, v4, :cond_28

    iget v2, p0, Lv;->c:I

    goto/16 :goto_2

    :cond_28
    iget-object v3, p0, Lv;->a:[B

    iget v4, p0, Lv;->b:I

    add-int/lit8 v4, v4, 0x4

    aget-byte v3, v3, v4

    and-int/lit16 v3, v3, 0xff

    shl-int/lit8 v3, v3, 0x8

    iget-object v4, p0, Lv;->a:[B

    iget v5, p0, Lv;->b:I

    add-int/lit8 v5, v5, 0x5

    aget-byte v4, v4, v5

    and-int/lit16 v4, v4, 0xff

    or-int/2addr v3, v4

    iput v3, p0, Lv;->p:I

    const/4 v3, 0x0

    iput v3, p0, Lv;->o:I

    iget v3, p0, Lv;->b:I

    add-int/lit8 v3, v3, 0x6

    iput v3, p0, Lv;->b:I

    iget v3, p0, Lv;->c:I

    const/4 v4, 0x6

    sub-int/2addr v3, v4

    iput v3, p0, Lv;->c:I

    iget v3, p0, Lv;->R:I

    const/4 v4, 0x4

    sub-int/2addr v3, v4

    iput v3, p0, Lv;->R:I

    goto/16 :goto_3

    :sswitch_5
    iget v3, p0, Lv;->b:I

    add-int/lit8 v3, v3, 0x2

    iput v3, p0, Lv;->b:I

    iget v3, p0, Lv;->c:I

    const/4 v4, 0x2

    sub-int/2addr v3, v4

    iput v3, p0, Lv;->c:I

    const/4 v3, 0x6

    iput v3, p0, Lv;->d:I

    goto/16 :goto_3

    :sswitch_6
    iget v3, p0, Lv;->b:I

    add-int/lit8 v3, v3, 0x1

    iput v3, p0, Lv;->b:I

    iget v3, p0, Lv;->c:I

    const/4 v4, 0x1

    sub-int/2addr v3, v4

    iput v3, p0, Lv;->c:I

    goto/16 :goto_3

    :cond_29
    iget-object v3, p0, Lv;->a:[B

    iget v4, p0, Lv;->b:I

    add-int/lit8 v4, v4, 0x2

    aget-byte v3, v3, v4

    and-int/lit16 v3, v3, 0xff

    shl-int/lit8 v3, v3, 0x8

    iget-object v4, p0, Lv;->a:[B

    iget v5, p0, Lv;->b:I

    add-int/lit8 v5, v5, 0x3

    aget-byte v4, v4, v5

    and-int/lit16 v4, v4, 0xff

    or-int/2addr v3, v4

    iput v3, p0, Lv;->R:I

    iget v3, p0, Lv;->b:I

    add-int/lit8 v3, v3, 0x4

    iput v3, p0, Lv;->b:I

    iget v3, p0, Lv;->c:I

    const/4 v4, 0x4

    sub-int/2addr v3, v4

    iput v3, p0, Lv;->c:I

    iget v3, p0, Lv;->R:I

    const/4 v4, 0x2

    sub-int/2addr v3, v4

    iput v3, p0, Lv;->R:I

    goto/16 :goto_3

    :pswitch_2
    iget v3, p0, Lv;->c:I

    iget v4, p0, Lv;->T:I

    mul-int/lit8 v4, v4, 0x3

    if-ge v3, v4, :cond_2a

    iget v2, p0, Lv;->c:I

    goto/16 :goto_2

    :cond_2a
    const/4 v3, 0x0

    :goto_17
    iget v4, p0, Lv;->T:I

    if-ge v3, v4, :cond_2d

    iget-object v4, p0, Lv;->U:[I

    iget-object v5, p0, Lv;->a:[B

    iget v6, p0, Lv;->b:I

    aget-byte v5, v5, v6

    and-int/lit16 v5, v5, 0xff

    aput v5, v4, v3

    iget-object v4, p0, Lv;->a:[B

    iget v5, p0, Lv;->b:I

    add-int/lit8 v5, v5, 0x1

    aget-byte v4, v4, v5

    and-int/lit16 v4, v4, 0xff

    and-int/lit8 v5, v4, 0xf

    ushr-int/lit8 v4, v4, 0x4

    iget v6, p0, Lv;->h:I

    if-le v4, v6, :cond_2b

    iput v4, p0, Lv;->h:I

    :cond_2b
    iget v6, p0, Lv;->g:I

    if-le v5, v6, :cond_2c

    iput v5, p0, Lv;->g:I

    :cond_2c
    iget-object v6, p0, Lv;->f:[I

    aput v4, v6, v3

    iget-object v4, p0, Lv;->e:[I

    aput v5, v4, v3

    iget-object v4, p0, Lv;->W:[I

    iget-object v5, p0, Lv;->a:[B

    iget v6, p0, Lv;->b:I

    add-int/lit8 v6, v6, 0x2

    aget-byte v5, v5, v6

    and-int/lit16 v5, v5, 0xff

    aput v5, v4, v3

    iget v4, p0, Lv;->b:I

    add-int/lit8 v4, v4, 0x3

    iput v4, p0, Lv;->b:I

    iget v4, p0, Lv;->c:I

    const/4 v5, 0x3

    sub-int/2addr v4, v5

    iput v4, p0, Lv;->c:I

    iget v4, p0, Lv;->S:I

    const/4 v5, 0x3

    sub-int/2addr v4, v5

    iput v4, p0, Lv;->S:I

    add-int/lit8 v3, v3, 0x1

    goto :goto_17

    :cond_2d
    iget v3, p0, Lv;->S:I

    if-lez v3, :cond_2e

    iget v3, p0, Lv;->S:I

    iput v3, p0, Lv;->R:I

    :cond_2e
    const/4 v3, 0x0

    :goto_18
    iget v4, p0, Lv;->T:I

    if-ge v3, v4, :cond_30

    iget-object v4, p0, Lv;->j:[I

    iget v5, p0, Lv;->w:I

    iget-object v6, p0, Lv;->f:[I

    aget v6, v6, v3

    mul-int/2addr v5, v6

    iget v6, p0, Lv;->h:I

    add-int/2addr v5, v6

    const/4 v6, 0x1

    sub-int/2addr v5, v6

    iget v6, p0, Lv;->h:I

    div-int/2addr v5, v6

    add-int/lit8 v5, v5, 0x7

    shr-int/lit8 v5, v5, 0x3

    aput v5, v4, v3

    iget v4, p0, Lv;->Code:I

    if-nez v4, :cond_2f

    iget-object v4, p0, Lv;->t:[[B

    iget-object v5, p0, Lv;->j:[I

    aget v5, v5, v3

    mul-int/lit8 v5, v5, 0x40

    iget-object v6, p0, Lv;->e:[I

    aget v6, v6, v3

    mul-int/2addr v5, v6

    new-array v5, v5, [B

    aput-object v5, v4, v3

    :goto_19
    add-int/lit8 v3, v3, 0x1

    goto :goto_18

    :cond_2f
    iget-object v4, p0, Lv;->t:[[B

    iget-object v5, p0, Lv;->e:[I

    aget v5, v5, v3

    mul-int/lit8 v5, v5, 0x40

    iget-object v6, p0, Lv;->f:[I

    aget v6, v6, v3

    mul-int/2addr v5, v6

    new-array v5, v5, [B

    aput-object v5, v4, v3

    goto :goto_19

    :cond_30
    const/4 v3, 0x0

    iput v3, p0, Lv;->u:I

    iget v3, p0, Lv;->T:I

    const/4 v4, 0x1

    if-le v3, v4, :cond_31

    iget v3, p0, Lv;->h:I

    shl-int/lit8 v3, v3, 0x3

    iget v4, p0, Lv;->w:I

    iget v5, p0, Lv;->h:I

    mul-int/lit8 v5, v5, 0x8

    add-int/2addr v4, v5

    const/4 v5, 0x1

    sub-int/2addr v4, v5

    iget v5, p0, Lv;->h:I

    shl-int/lit8 v5, v5, 0x3

    div-int/2addr v4, v5

    mul-int/2addr v3, v4

    iput v3, p0, Lv;->V:I

    iget v3, p0, Lv;->g:I

    shl-int/lit8 v3, v3, 0x3

    iget v4, p0, Lv;->x:I

    iget v5, p0, Lv;->g:I

    mul-int/lit8 v5, v5, 0x8

    add-int/2addr v4, v5

    const/4 v5, 0x1

    sub-int/2addr v4, v5

    iget v5, p0, Lv;->g:I

    shl-int/lit8 v5, v5, 0x3

    div-int/2addr v4, v5

    mul-int/2addr v3, v4

    iput v3, p0, Lv;->i:I

    :cond_31
    const/4 v3, 0x2

    iput v3, p0, Lv;->d:I

    goto/16 :goto_0

    :cond_32
    iget-object v3, p0, Lv;->a:[B

    iget v4, p0, Lv;->b:I

    aget-byte v3, v3, v4

    and-int/lit16 v3, v3, 0xff

    const/16 v4, 0xff

    if-ne v3, v4, :cond_34

    iget-object v3, p0, Lv;->a:[B

    iget v4, p0, Lv;->b:I

    add-int/lit8 v4, v4, 0x1

    aget-byte v3, v3, v4

    if-eqz v3, :cond_34

    iget-object v3, p0, Lv;->a:[B

    iget v4, p0, Lv;->b:I

    add-int/lit8 v4, v4, 0x1

    aget-byte v3, v3, v4

    and-int/lit16 v3, v3, 0xff

    const/16 v4, 0xd0

    if-lt v3, v4, :cond_33

    iget-object v3, p0, Lv;->a:[B

    iget v4, p0, Lv;->b:I

    add-int/lit8 v4, v4, 0x1

    aget-byte v3, v3, v4

    and-int/lit16 v3, v3, 0xff

    const/16 v4, 0xd7

    if-gt v3, v4, :cond_33

    const/4 v3, 0x4

    iput v3, p0, Lv;->d:I

    iget v3, p0, Lv;->b:I

    add-int/lit8 v3, v3, 0x2

    iput v3, p0, Lv;->b:I

    iget v3, p0, Lv;->c:I

    const/4 v4, 0x2

    sub-int/2addr v3, v4

    iput v3, p0, Lv;->c:I

    :goto_1a
    :pswitch_3
    iget v3, p0, Lv;->d:I

    const/4 v4, 0x5

    if-ne v3, v4, :cond_0

    iget v3, p0, Lv;->c:I

    const/4 v4, 0x2

    if-ge v3, v4, :cond_32

    iget v2, p0, Lv;->c:I

    goto/16 :goto_2

    :cond_33
    const/4 v3, 0x2

    iput v3, p0, Lv;->d:I

    goto :goto_1a

    :cond_34
    iget v3, p0, Lv;->b:I

    add-int/lit8 v3, v3, 0x1

    iput v3, p0, Lv;->b:I

    iget v3, p0, Lv;->c:I

    const/4 v4, 0x1

    sub-int/2addr v3, v4

    iput v3, p0, Lv;->c:I

    goto :goto_1a

    :pswitch_4
    const/16 v2, 0x40

    new-array v4, v2, [S

    iget v2, p0, Lv;->Code:I

    if-eqz v2, :cond_35

    iget-object v2, p0, Lv;->J:[I

    if-nez v2, :cond_35

    iget v2, p0, Lv;->g:I

    iget v3, p0, Lv;->h:I

    mul-int/2addr v2, v3

    shl-int/lit8 v2, v2, 0x6

    new-array v2, v2, [I

    iput-object v2, p0, Lv;->J:[I

    :cond_35
    iget-object v2, p0, Lv;->l:[I

    iget v3, p0, Lv;->m:I

    aget v3, v2, v3

    const/4 v2, 0x0

    :goto_1b
    const/16 v5, 0x40

    if-ge v2, v5, :cond_36

    const/4 v5, 0x0

    aput-short v5, v4, v2

    add-int/lit8 v2, v2, 0x1

    goto :goto_1b

    :cond_36
    iget v2, p0, Lv;->c:I

    iget v5, p0, Lv;->H:I

    iget v6, p0, Lv;->K:I

    iget-object v7, p0, Lv;->y:[I

    shl-int/lit8 v8, v3, 0x1

    aget v7, v7, v8

    invoke-direct {p0, v7}, Lv;->I(I)I

    move-result v7

    if-gez v7, :cond_3d

    iget v8, p0, Lv;->b:I

    iget v9, p0, Lv;->c:I

    sub-int v9, v2, v9

    sub-int/2addr v8, v9

    iput v8, p0, Lv;->b:I

    iput v2, p0, Lv;->c:I

    iput v5, p0, Lv;->H:I

    iput v6, p0, Lv;->K:I

    move v2, v7

    :goto_1c
    if-nez v2, :cond_0

    iget-object v2, p0, Lv;->q:[I

    aget v2, v2, v3

    iget-object v5, p0, Lv;->e:[I

    aget v5, v5, v3

    iget-object v6, p0, Lv;->f:[I

    aget v6, v6, v3

    mul-int/2addr v5, v6

    div-int/2addr v2, v5

    iget-object v5, p0, Lv;->q:[I

    aget v5, v5, v3

    iget-object v6, p0, Lv;->e:[I

    aget v6, v6, v3

    iget-object v7, p0, Lv;->f:[I

    aget v7, v7, v3

    mul-int/2addr v6, v7

    rem-int/2addr v5, v6

    iget-object v6, p0, Lv;->f:[I

    aget v6, v6, v3

    mul-int/2addr v2, v6

    iget-object v6, p0, Lv;->f:[I

    aget v6, v6, v3

    rem-int v6, v5, v6

    add-int/2addr v2, v6

    iget-object v6, p0, Lv;->j:[I

    aget v6, v6, v3

    if-ge v2, v6, :cond_37

    iget v6, p0, Lv;->Code:I

    if-nez v6, :cond_45

    iget-object v6, p0, Lv;->f:[I

    aget v6, v6, v3

    div-int/2addr v5, v6

    iget-object v6, p0, Lv;->j:[I

    aget v6, v6, v3

    mul-int/2addr v5, v6

    shl-int/lit8 v5, v5, 0x3

    add-int/2addr v2, v5

    shl-int/lit8 v6, v2, 0x3

    iget-object v2, p0, Lv;->t:[[B

    aget-object v5, v2, v3

    iget-object v2, p0, Lv;->j:[I

    aget v2, v2, v3

    shl-int/lit8 v7, v2, 0x3

    move-object v2, p0

    invoke-direct/range {v2 .. v7}, Lv;->Code(I[S[BII)V

    :cond_37
    :goto_1d
    iget-object v2, p0, Lv;->q:[I

    aget v5, v2, v3

    add-int/lit8 v5, v5, 0x1

    aput v5, v2, v3

    iget v2, p0, Lv;->r:I

    const/4 v5, 0x1

    sub-int/2addr v2, v5

    iput v2, p0, Lv;->r:I

    iget v2, p0, Lv;->r:I

    iget v5, p0, Lv;->s:I

    rem-int/2addr v2, v5

    if-nez v2, :cond_39

    iget v2, p0, Lv;->Code:I

    if-eqz v2, :cond_39

    const/4 v2, 0x1

    invoke-direct {p0, v2}, Lv;->Code(Z)V

    iget v2, p0, Lv;->M:I

    iget v5, p0, Lv;->w:I

    rem-int/2addr v2, v5

    iget v5, p0, Lv;->M:I

    iget v6, p0, Lv;->w:I

    div-int/2addr v5, v6

    iget v6, p0, Lv;->Code:I

    shr-int/2addr v2, v6

    iget v6, p0, Lv;->Code:I

    shr-int/2addr v5, v6

    iget v6, p0, Lv;->I:I

    mul-int/2addr v6, v5

    add-int/2addr v2, v6

    const/4 v6, 0x0

    const/4 v7, 0x0

    move v14, v7

    move v7, v2

    move v2, v14

    :goto_1e
    iget v8, p0, Lv;->g:I

    shl-int/lit8 v8, v8, 0x3

    iget v9, p0, Lv;->Code:I

    shr-int/2addr v8, v9

    if-ge v2, v8, :cond_38

    add-int v8, v2, v5

    iget v9, p0, Lv;->Z:I

    if-lt v8, v9, :cond_46

    :cond_38
    const/4 v2, -0x1

    iput v2, p0, Lv;->M:I

    :cond_39
    iget v2, p0, Lv;->r:I

    if-nez v2, :cond_49

    iget v2, p0, Lv;->Code:I

    if-nez v2, :cond_3a

    const/4 v2, 0x0

    invoke-direct {p0, v2}, Lv;->Code(Z)V

    :cond_3a
    iget v2, p0, Lv;->u:I

    add-int/lit8 v2, v2, 0x1

    iput v2, p0, Lv;->u:I

    iget v2, p0, Lv;->k:I

    const/4 v5, 0x1

    if-le v2, v5, :cond_3b

    iget v2, p0, Lv;->u:I

    iget v5, p0, Lv;->i:I

    iget v6, p0, Lv;->g:I

    mul-int/lit8 v6, v6, 0x8

    div-int/2addr v5, v6

    if-ge v2, v5, :cond_3c

    :cond_3b
    iget v2, p0, Lv;->k:I

    const/4 v5, 0x1

    if-ne v2, v5, :cond_48

    iget v2, p0, Lv;->u:I

    iget-object v5, p0, Lv;->e:[I

    aget v5, v5, v3

    iget v6, p0, Lv;->x:I

    mul-int/2addr v5, v6

    iget v6, p0, Lv;->g:I

    add-int/2addr v5, v6

    const/4 v6, 0x1

    sub-int/2addr v5, v6

    iget v6, p0, Lv;->g:I

    div-int/2addr v5, v6

    add-int/lit8 v5, v5, 0x7

    shr-int/lit8 v5, v5, 0x3

    if-lt v2, v5, :cond_48

    :cond_3c
    const/4 v2, 0x2

    iput v2, p0, Lv;->d:I

    const/4 v2, 0x0

    goto/16 :goto_0

    :cond_3d
    invoke-direct {p0, v7}, Lv;->Code(I)I

    move-result v8

    if-gez v8, :cond_3e

    iget v7, p0, Lv;->b:I

    iget v9, p0, Lv;->c:I

    sub-int v9, v2, v9

    sub-int/2addr v7, v9

    iput v7, p0, Lv;->b:I

    iput v2, p0, Lv;->c:I

    iput v5, p0, Lv;->H:I

    iput v6, p0, Lv;->K:I

    move v2, v8

    goto/16 :goto_1c

    :cond_3e
    invoke-static {v7, v8}, Lv;->Code(II)I

    move-result v7

    const/4 v8, 0x0

    iget-object v9, p0, Lv;->G:[S

    aget-short v9, v9, v3

    add-int/2addr v7, v9

    int-to-short v7, v7

    aput-short v7, v4, v8

    iget-object v7, p0, Lv;->y:[I

    shl-int/lit8 v8, v3, 0x1

    add-int/lit8 v8, v8, 0x1

    aget v7, v7, v8

    const/4 v8, 0x1

    :goto_1f
    const/16 v9, 0x40

    if-ge v8, v9, :cond_40

    invoke-direct {p0, v7}, Lv;->I(I)I

    move-result v9

    if-gez v9, :cond_3f

    iget v7, p0, Lv;->b:I

    iget v8, p0, Lv;->c:I

    sub-int v8, v2, v8

    sub-int/2addr v7, v8

    iput v7, p0, Lv;->b:I

    iput v2, p0, Lv;->c:I

    iput v5, p0, Lv;->H:I

    iput v6, p0, Lv;->K:I

    move v2, v9

    goto/16 :goto_1c

    :cond_3f
    and-int/lit8 v10, v9, 0xf

    shr-int/lit8 v9, v9, 0x4

    if-nez v10, :cond_42

    const/16 v10, 0xf

    if-eq v9, v10, :cond_41

    :cond_40
    iget-object v2, p0, Lv;->G:[S

    const/4 v5, 0x0

    aget-short v5, v4, v5

    aput-short v5, v2, v3

    const/4 v2, 0x0

    goto/16 :goto_1c

    :cond_41
    add-int/2addr v8, v9

    :goto_20
    add-int/lit8 v8, v8, 0x1

    goto :goto_1f

    :cond_42
    invoke-direct {p0, v10}, Lv;->Code(I)I

    move-result v11

    if-gez v11, :cond_43

    iget v7, p0, Lv;->b:I

    iget v8, p0, Lv;->c:I

    sub-int v8, v2, v8

    sub-int/2addr v7, v8

    iput v7, p0, Lv;->b:I

    iput v2, p0, Lv;->c:I

    iput v5, p0, Lv;->H:I

    iput v6, p0, Lv;->K:I

    move v2, v11

    goto/16 :goto_1c

    :cond_43
    add-int/2addr v8, v9

    const/16 v9, 0x40

    if-lt v8, v9, :cond_44

    const/16 v8, 0x3f

    :cond_44
    invoke-static {v10, v11}, Lv;->Code(II)I

    move-result v9

    int-to-short v9, v9

    aput-short v9, v4, v8

    goto :goto_20

    :cond_45
    iget-object v2, p0, Lv;->f:[I

    aget v2, v2, v3

    div-int v2, v5, v2

    iget-object v6, p0, Lv;->f:[I

    aget v6, v6, v3

    shl-int/lit8 v6, v6, 0x6

    mul-int/2addr v2, v6

    iget-object v6, p0, Lv;->f:[I

    aget v6, v6, v3

    rem-int/2addr v5, v6

    shl-int/lit8 v5, v5, 0x3

    add-int v6, v2, v5

    iget-object v2, p0, Lv;->t:[[B

    aget-object v5, v2, v3

    iget-object v2, p0, Lv;->f:[I

    aget v2, v2, v3

    shl-int/lit8 v7, v2, 0x3

    move-object v2, p0

    invoke-direct/range {v2 .. v7}, Lv;->Code(I[S[BII)V

    goto/16 :goto_1d

    :cond_46
    const/4 v8, 0x0

    :goto_21
    iget v9, p0, Lv;->N:I

    iget v10, p0, Lv;->Code:I

    shr-int/2addr v9, v10

    if-ge v8, v9, :cond_47

    iget-object v9, p0, Lv;->v:[I

    add-int v10, v7, v8

    iget-object v11, p0, Lv;->J:[I

    iget v12, p0, Lv;->Code:I

    shl-int v12, v8, v12

    add-int/2addr v12, v6

    aget v11, v11, v12

    aput v11, v9, v10

    add-int/lit8 v8, v8, 0x1

    goto :goto_21

    :cond_47
    iget v8, p0, Lv;->I:I

    add-int/2addr v7, v8

    iget v8, p0, Lv;->h:I

    shl-int/lit8 v8, v8, 0x3

    iget v9, p0, Lv;->Code:I

    shl-int/2addr v8, v9

    add-int/2addr v6, v8

    add-int/lit8 v2, v2, 0x1

    goto/16 :goto_1e

    :cond_48
    invoke-direct {p0}, Lv;->I()V

    :cond_49
    iget v2, p0, Lv;->n:I

    add-int/lit8 v2, v2, 0x1

    iput v2, p0, Lv;->n:I

    iget v2, p0, Lv;->n:I

    iget-object v5, p0, Lv;->e:[I

    aget v5, v5, v3

    iget-object v6, p0, Lv;->f:[I

    aget v3, v6, v3

    mul-int/2addr v3, v5

    if-ge v2, v3, :cond_4a

    iget v2, p0, Lv;->k:I

    const/4 v3, 0x1

    if-ne v2, v3, :cond_4b

    :cond_4a
    const/4 v2, 0x0

    iput v2, p0, Lv;->n:I

    iget v2, p0, Lv;->m:I

    add-int/lit8 v2, v2, 0x1

    iput v2, p0, Lv;->m:I

    iget v2, p0, Lv;->m:I

    iget v3, p0, Lv;->k:I

    if-lt v2, v3, :cond_4b

    const/4 v2, 0x0

    iput v2, p0, Lv;->m:I

    iget v2, p0, Lv;->o:I

    add-int/lit8 v2, v2, 0x1

    iput v2, p0, Lv;->o:I

    :cond_4b
    iget v2, p0, Lv;->o:I

    iget v3, p0, Lv;->p:I

    if-ne v2, v3, :cond_35

    iget v2, p0, Lv;->p:I

    if-lez v2, :cond_35

    const/4 v2, 0x0

    iput v2, p0, Lv;->o:I

    invoke-direct {p0}, Lv;->Z()V

    const/4 v2, 0x5

    iput v2, p0, Lv;->d:I

    const/4 v2, 0x0

    goto/16 :goto_0

    :pswitch_5
    const/4 v2, 0x0

    goto/16 :goto_2

    :cond_4c
    iget v3, p0, Lv;->b:I

    add-int/lit8 v3, v3, 0x2

    iput v3, p0, Lv;->b:I

    iget v3, p0, Lv;->c:I

    const/4 v4, 0x2

    sub-int/2addr v3, v4

    iput v3, p0, Lv;->c:I

    const/4 v3, 0x1

    iput v3, p0, Lv;->d:I

    goto/16 :goto_0

    :cond_4d
    const/4 v3, -0x2

    if-ne v2, v3, :cond_1

    iget v2, p0, Lv;->c:I

    goto/16 :goto_2

    nop

    :pswitch_data_0
    .packed-switch 0x0
        :pswitch_0
        :pswitch_1
        :pswitch_1
        :pswitch_2
        :pswitch_4
        :pswitch_3
        :pswitch_5
    .end packed-switch

    :sswitch_data_0
    .sparse-switch
        0x0 -> :sswitch_6
        0xc0 -> :sswitch_0
        0xc1 -> :sswitch_0
        0xc4 -> :sswitch_2
        0xd9 -> :sswitch_5
        0xda -> :sswitch_1
        0xdb -> :sswitch_3
        0xdd -> :sswitch_4
        0xff -> :sswitch_6
    .end sparse-switch
.end method
